2013-07-30 26 views
1

在OOP中工作时,从工作线程到win32主线程的正确通信/最佳方式是什么?从工作者线程到win32主线程的正确通信方式

我的工作线程在一个循环中运行,而对于某些事件,包括当线程结束,它需要告诉主线程和主线程响应做某些事情。

当前我正在使用WM_APP来自工作线程的消息与主线程进行通信。 虽然看起来不整齐。

+0

没有“正确的方法”。一切合理可靠的工作都可以。 –

+0

PostMessage/SendMessage很好,因为如果Tobias没有先到那里,我会回答。 –

回答

0

基本上没有将工作线程传递给主线程的标准方式。你只专注于你的程序工作正常或不是这样。关于线程,后台线程或者你可以说工作线程基本上用于多任务目的意味着你想做一些非常重的事情,比如从光盘读取大文件,然后你可以使用线程。

现在同时使用线程是你的线程同步您如何进行同步线程有很多问题要与资源分配有关而这一切首先了解如何工作的,而你的分配资源的线程一个很重要的事情。

欲了解更多信息,你可以阅读Using Worker Threads

1

如果您习惯使用通过Windows消息通信,这是完全合理和罚款。它具有不需要同步的好处。额外的通信可以通过线程安全的对象(主要需要锁定),共享内存,套接字,...在他们的线程部分检查众所周知的C++库的可能性。

通过Windows消息进行通信是最简单的方法之一。这本身就是一个不应该被低估的价值,如果你不需要平台独立性或者一种能够给你提供比Windows消息更多可能性的通信形式 - 坚持下去。

相关问题