【发布时间】:2011-12-01 23:10:34
【问题描述】:
如您所知,可以在 MFC UI 线程中指定 OnIdle。有关详细信息,您可以阅读此参考http://msdn.microsoft.com/en-us/library/1sa2f19f.aspx。但我不确定如何在实践中使用它。
根据上面的参考,
“当线程的消息队列为空时,在默认消息循环中调用 OnIdle。使用您的覆盖来调用您自己的后台空闲处理程序任务。”
所以我可以理解,当UI线程不忙时,调用该方法。根据上面的文档,
“由于应用程序在 OnIdle 返回之前无法处理消息,因此请不要在此函数中执行冗长的任务。”
但是在空闲事件中可以完成哪些任务呢?一个例子就足够了。谢谢
更新:一个令人沮丧的事实是this old (1996) article by Russell Weisz, titled "First Aid for the Thread-Impaired: Using Multiple Threads with MFC." 对理解 CWinThread 非常有帮助。
UPDATE2:由于 Microsoft 删除了 MSJ 文章,this one 可能会有所帮助。
【问题讨论】:
标签: c++ multithreading mfc