我有一个宠物项目,涉及多个工作线程。将所有输出都放在控制台中变得难以跟踪,因此我想开发一个UI,每个线程都有一个输出区域。我想知道线程向UI发送更新的最佳方法。我有两个想法:
1)当新数据可用时,让每个线程设置“DataUpdated”标志,并定期检查新数据。
2)为每个线程创建一个回调到UI Update(...)方法,以在新数据可用时调用。
目前,我倾向于(2),原因有两个:我不喜欢“检查”每个线程的想法,因为这是我的第一个多线程应用程序,(2)似乎比实际更简单。我想知道:
- 从简单性和效率方面来看,哪个选项更好?
- 您对实现(2)或类似事件驱动的内容有什么建议吗?