Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用boost::threads传递消息?_C++_Boost - Fatal编程技术网

C++ 使用boost::threads传递消息?

C++ 使用boost::threads传递消息?,c++,boost,C++,Boost,boost是否有某种方法可以使消息跨多个线程传递 我正在开发一个服务器应用程序,我希望能够以安全的方式在整个应用程序中传递消息 谢谢boost::thread提供了您需要的工具,这里有一个示例队列实现,应该可以帮助您开始 这也给了我另一个机会,插入这本书 C++并发操作是新C++ 11的参考和指南 有经验的C++程序员以及那些有经验的程序员的标准 从未编写过多线程代码。这本书将教你如何写作 C++中的多线程鲁棒性应用程序 陷阱 如果你使用Windows,Visual C++ 10在这里有一些专

boost是否有某种方法可以使消息跨多个线程传递

我正在开发一个服务器应用程序,我希望能够以安全的方式在整个应用程序中传递消息


谢谢

boost::thread
提供了您需要的工具,这里有一个示例队列实现,应该可以帮助您开始

这也给了我另一个机会,插入这本书

C++并发操作是新C++ 11的参考和指南 有经验的C++程序员以及那些有经验的程序员的标准 从未编写过多线程代码。这本书将教你如何写作 C++中的多线程鲁棒性应用程序 陷阱


如果你使用Windows,Visual C++ 10在这里有一些专有工具。VC11对此进行了扩展。

boost::thread
提供了您将需要的工具,并且有一个示例队列实现可以帮助您开始

这也给了我另一个机会,插入这本书

C++并发操作是新C++ 11的参考和指南 有经验的C++程序员以及那些有经验的程序员的标准 从未编写过多线程代码。这本书将教你如何写作 C++中的多线程鲁棒性应用程序 陷阱


如果你使用Windows,Visual C++ 10在这里有一些专有工具。VC11对此进行了扩展。

您也可以使用Boost.Asio实现此目的:在一个线程中运行io_服务,并从另一个线程调用io_服务.post(您的函子)。

您也可以使用Boost.Asio实现此目的:在一个线程中运行io_服务,从另一个线程调用io_服务.post(您的函子)。

它已经发布。谢谢@Jerry,也是时候了:-)+1感谢我所寻找的。我在链接的帖子中发表了评论,但我想我也会在这里发表评论:为了在C++11中使用
unique\u ptr
s队列,我在这里添加了
push
的右值引用重载(见下一条评论)。看看右边,还有什么需要的吗?void push(Data&&Data){boost::mutex::scoped_lock lock(the_mutex);the_queue.push(std::move(Data));lock.unlock();the_condition_variable.notify_one();}忘了提到——此外,移动语义需要应用于各种
pop
方法。它已经发布了。谢谢@Jerry,也是时候了:-)+1感谢我所寻找的。我在链接的帖子中发表了评论,但我想我也会在这里发表评论:为了在C++11中使用
unique\u ptr
s队列,我在这里添加了
push
的右值引用重载(见下一条评论)。看看右边,还有什么需要的吗?void push(Data&&Data){boost::mutex::scoped_lock lock(the_mutex);the_queue.push(std::move(Data));lock.unlock();the_condition_variable.notify_one();}忘了提到——此外,移动语义需要应用于各种
pop
方法。