我正处于开发的设计阶段,正在考虑在C++中使用多线程来实现某些功能。我熟悉多线程的基础知识,但想让别人接受我的想法。我还没有选择多线程库(倾向于Boost),但我的问题可能与所选库无关。Basic C++多线程
基本上我将有一个类(让我们称之为CommandGenerator),其在一个while循环执行(直到终止),并检查由另一个软件填充命令的消息队列。每次CommandGenerator从队列中获取消息时,我都希望它生成一个在后台执行的线程,并处理刚刚从队列中取出的数据。同时,我希望CommandGenerator继续运行并再次绕过while循环,并拉取所有新消息并再次产生更多线程。这在概念上是可能的吗?我可以继续产卵线程,让它们在后台运行直到它们完成,而代码继续循环并检查队列吗? CommandGenerator不需要控制线程。他们一旦创建就可以独立执行,并保证终止,但可能需要一分钟才能完成执行(它们在执行之前等待消息中指定的一定时间从队列中拉出)。
任何输入表示赞赏。
我建议你使用内置的C++ 11的'threading'模块。 – Elazar 2013-04-25 12:53:36
C++在其标准库中包含线程支持。请参阅''标题。 –
2013-04-25 12:54:40
您是否熟悉生产者 - 消费者或线程池模式等多线程概念? – 2013-04-25 12:55:08