【发布时间】:2011-01-07 00:35:56
【问题描述】:
我正在处理一个具有多个工作线程的宠物项目。将所有内容输出到控制台变得越来越难以理解,所以我想开发一个每个线程都有一个输出区域的 UI。我想知道线程向 UI 发送更新的最佳方式。我有两个想法:
1) 当有新数据可用时,让每个线程设置一个“DataUpdated”标志,并让 UI 定期检查新数据。
2) 创建每个线程,并在新数据可用时调用 UI Update(...) 方法。
我目前倾向于 (2) 有两个原因:我不喜欢“检查”每个线程的想法,因为这是我的第一个多线程应用程序,并且 (2) 看起来比它可能的简单。我想知道:
- 就简单性和效率而言,哪个选项更可取?
- 对于实施 (2) 或类似的方法(即更多事件驱动),您有什么建议吗?
【问题讨论】:
标签: c# .net multithreading user-interface