Multithreading 如何处理更新刷新率?
如何处理从worker函数到UI的更新刷新率Multithreading 如何处理更新刷新率?,multithreading,user-interface,Multithreading,User Interface,如何处理从worker函数到UI的更新刷新率 将所有内容发送到UI,或者从哪一方使用计时器?worker或UI?在Windows应用程序中,您通常希望在GUI线程中使用计时器对象来轮询worker状态-这更容易,除非您有很好的理由去做其他事情 您不能仅从Windows中的工作线程对UI例程进行函数调用。将导致未定义的行为,因此请小心 如果您的平台和开发环境支持它,那么某种异步消息传递系统工作得很好。在Win32下,我只使用我发布的普通windows消息,这样它们就不会阻塞线程,UI的标准主消息线
将所有内容发送到UI,或者从哪一方使用计时器?worker或UI?在Windows应用程序中,您通常希望在GUI线程中使用计时器对象来轮询worker状态-这更容易,除非您有很好的理由去做其他事情
您不能仅从Windows中的工作线程对UI例程进行函数调用。将导致未定义的行为,因此请小心 如果您的平台和开发环境支持它,那么某种异步消息传递系统工作得很好。在Win32下,我只使用我发布的普通windows消息,这样它们就不会阻塞线程,UI的标准主消息线程会拾取消息并处理它们。我通常也定义自定义消息
使用计时器是次优的,应该不需要轮询此类信息。这是有道理的,我只是被我想从ui获得的取消状态蒙蔽了双眼,我想我只需要有一个结构来始终更新状态,并始终从中检查取消值。现在我需要考虑一下此项的共享状态