2008-10-23 99 views
-1

你如何处理你的工作人员功能更新刷新率到你的用户界面?你如何处理更新刷新率?

发送一切的UI或可能使用计时器(从哪个方面看工人或UI?)

回答

1

在Windows应用程序,您通常需要使用一个Timer对象在GUI线程轮询工人身份 - - 这很容易,除非你有很好的理由去做别的事情......

你不能只是在Windows中的一个工作线程进行一个UI例程的函数调用。未定义的行为将会产生,所以小心!

+0

它是有道理的,我只是被我想从ui获取的取消状态蒙上了一层阴影,我想我只需要一个结构来更新状态总是检查取消值。现在我需要考虑关于这个共享状态 – CiNN 2008-10-23 06:21:29

1

如果您的平台和开发环境支持它,某种异步消息传递系统运行良好。在Win32下,我只是使用正常的Windows消息,我“发布”(所以他们不会阻塞线程)和UI的标准主消息线程拾取消息并处理它们。我通常也定义自定义消息。

使用计时器并不理想,应该不需要“轮询”这类信息。