![]() |
1
8
这很接近。更好的描述方法是:等待手段
暂停此工作流,直到等待的任务完成
. 如果工作流因任务未完成而挂起,则会释放此线程以查找更多要做的工作,并且工作流将计划在将来任务完成时的某个时间点恢复。等待时选择要执行的操作是给最近调用此工作流的代码的;也就是说
如果任务在等待点完成,那么工作流将正常继续。 等待是一个 异步等待 . 它等待任务完成,但在等待的过程中保持忙碌。
当然,没关系。不要等到最后一刻才开始等待任务 需要 工作流继续之前要完成的任务。这是最佳实践。 但是:如果您的工作流执行的操作需要30毫秒以上的时间,而您处于UI线程上,那么您可能会冻结UI并激怒用户。
你当然可以;这是个好主意。使用
不,不一样。正如您正确指出的,等待每个添加操作将确保在前一个添加操作完成之前不会启动任何添加。如果不需要以这种方式序列化这些任务,那么可以通过先启动任务,然后在所有任务都启动后等待它们来创建更高效的工作流。 |
![]() |
2
3
如果我正确理解了您的问题,那么您想要做的是并行化异步工作,这是非常常见的。 考虑以下代码:
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |