首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParallelFor中包含的WF序列中的所有活动应该是AsyncCodeActivity吗?

ParallelFor中包含的WF序列中的所有活动应该是AsyncCodeActivity吗?
EN

Stack Overflow用户
提问于 2011-02-24 10:19:28
回答 1查看 280关注 0票数 0

AI有一个WF4应用程序,它包含一个序列工作流,其中包含一个包含三个顺序活动的序列的ParallelFor。第一个活动是计算绑定(它生成证书签名请求),第二个是IO绑定(发送电子邮件),第三个任务也是IO绑定(更新数据库)。

我最初把这些都开发为CodeActivities,并且看到它们需要是AsyncCodeActivities才能在多线程模式下真正运行。因此,我已经将第一个计算绑定活动修改为一个AsyncCodeActivity,并且我可以看到它正在被多线程执行。(至少我可以在我的开发机器上观察到更高的处理器利用率,这使我不相信它现在正在运行多线程)。

然而,后续的任务仍然是非异步CodeActivities。我的问题如下:

  1. 是否也应该将第2和第3活动转换为异步(我怀疑情况会是这样)?如果不是,当第一个是AsyncCodeActivitiy,而第二个和第三个不是ParallelFor时,处理实际上是如何执行的?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-24 10:28:18

与所有的儿童活动并行,他们是在同一时间安排。这意味着放入队列,调度程序将在同一时间只执行一个队列。对于异步活动,这意味着开始被调度,它可以生成其他线程,结束部分在完成时被调度,并在调度程序正常运行时真正执行。

实际上,这意味着对于在服务器上执行大量其他工作的工作流,异步活动最好用于异步IO (如网络或数据库IO )。在服务器上,向已经繁忙的系统中添加多个CPU线程甚至会减慢速度。如果工作流在客户机上执行,异步IO和CPU的工作都是有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5103276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档