![]() |
1
1
是的,实现IAsyncResult(或者更确切地说,它的扩展版本,以提供进度报告)。
|
![]() |
2
1
如果我理解正确,你有一个工作对象集合(
在这种情况下,我建议你采取一种稍微不同的方法。你可以看看 Parallel Extension framework ( blog )使用该框架,您可以编写如下内容:
需要注意的一些事项:
使用
|
![]() |
3
1
WorkObject类可以包含需要跟踪的属性。
然后在您的示例中:
我假设你会开始 工作线程 异步(尽管是唯一的异步线程);另外,您还必须确保检索字典值和工作对象属性是线程安全的。
|
![]() |
4
0
最简单的方法是描述
here
. 假设你有一个方法
然后你打电话给
异步调用完成后,将调用回调委托。您可以如下定义此方法:
使用所描述的场景,您还可以轮询结果或等待结果。查看我提供的URL以了解更多信息。 当做, 罗纳德 |
![]() |
5
0
如果不想使用异步回调,可以使用显式WaitHandle,例如ManualReseteEvent:
在你的代码里你可以说
不过,不要忘记对您的工作对象调用Dispose。 您总是可以使用替代的实现来为每个工作对象创建这样的包装器,以及在waitforcompletion()中调用wait handle.dispose()的人,您可以延迟地实例化wait handle(小心:前面的竞争条件),等等(这几乎是BeginInvoke为委托所做的)。 |
![]() |
Coding Dog · Python异步函数不工作。继续跑 1 年前 |
![]() |
cyka · 强制JavaScript等待单击(循环) 2 年前 |
![]() |
CodeMonkey · 无法访问React[重复]中的对象值 2 年前 |
![]() |
Tim · 为异步方法返回列表的最佳方式是什么? 2 年前 |
![]() |
dapidmini · 未捕获的承诺嵌套异步函数承诺错误处理 2 年前 |