Goo*_*ber 2 c# backgroundworker winforms threadpool
我有一个 Windows 窗体应用程序。主窗体内部有一个循环,迭代大约 3000 次,在新线程上创建类的新实例来执行一些计算。请记住,此设置使用线程池,当此循环只有大约 100 次迭代(要处理 100 个资产)时,UI 确实保持响应。但一旦这个数字开始大幅增加,UI 就会锁定到 Eggtimer 模式,因此写入表单上列表框的日志将变得不可读。
我是否正确地认为解决此问题的最佳方法是使用后台工作人员?UI 是否锁定,因为即使我使用许多不同的线程(为了速度),UI 本身并不位于其自己的单独线程上?
非常感谢建议的实施。
因此,我们可以说,我决定以 100 个为一组进行批量处理,而不是仅仅发送并排队 3000 个资产进行处理。我将如何有效地做到这一点?我早些时候尝试添加“Thread.Sleep(5000);” 每一批 100 个都被发射之后,但整个事情似乎一团糟......
| 归档时间: |
|
| 查看次数: |
3012 次 |
| 最近记录: |