我有WF,其中我使用并行foreach来枚举项目列表并对每个项目执行一些处理。要求是无限运行并行foreach,直到用户介入并停止进程。但是,当有超过20个项目时,我看到多个线程被分离,CPU使用率将达到99%,并最终整个系统变慢以响应。如何限制可以与WWF并行创建的线程数。我可以设置任何财产吗?任何帮助都非常感谢。
答案 0 :(得分:0)
创建LimitedConcurrencyLevelTaskScheduler
答案 1 :(得分:0)
WF4不会为项目创建新线程。只有在使用异步活动时,才能获得任何重叠的活动执行。通常,这对异步IO最有效,但如果您通过启动其他线程在活动中执行此操作,则可以进行后台编译。但是,WF运行时将仅为每个工作流实例使用单个线程。