这是一个相当直接的问题,我基本上是在寻找一种“最佳实践”方法来实现我想要做的。在线程之间发送字符串数据(Win32)
我有一个Win32 GUI应用程序启动一个工作线程来做一堆阻塞调用。我希望此线程将字符串消息发送回GUI,以便它们可以显示给用户。
目前我在想使用SendMessage会是一个很好的方法,使用WM_COPYDATA?这是正确的轨道?我原本有一个线程安全队列类,它将简单的通知消息发送回GUI线程,然后将该字符串从队列中弹出。不过,我很快退后一步,意识到我不需要排队;我可以直接发送字符串。
任何提示?谢谢!
编辑:为了完整,我使用C++。
您最初的基于队列的“消息传递”方法既标准又优雅。它比使用SendMessage更可能更快更便携。 – 2009-06-09 05:01:48