【发布时间】:2013-11-06 02:56:52
【问题描述】:
我有一个 C# 程序,它正在检查文件和注册表项是否存在,并在 Form.Textbox 上为它正在寻找的每个文件和注册表项使用 AppendText()。
这是在异步 BackgroundWorker 中运行的,现在我的后台工作人员实际上处理速度非常快,以至于我的 UI 线程被 AppendText 命令阻塞并且程序崩溃了。如何同步 BackgroundWorker 和 UI 线程,以便在 UI 线程准备好之前 BackgroundWorker 不会再次开始处理?
【问题讨论】:
-
你能给我们看一些代码吗?我不明白你说的有什么意义。
-
你试过绑定数据吗?
-
你试过System.Windows.Forms.Control.Invoke方法吗?
-
一个 WaitHandle 可能...
-
了解您是否要减慢生产者线程、加快消费者 (UI) 线程以及显示哪种数据也会很有用。
标签: c# multithreading backgroundworker synchronize