我正处于开发的设计阶段,正在考虑在 C++ 中使用多线程来实现一些功能。我熟悉多线程的基础知识,但想让其他人接受我的想法。我还没有选择多线程库(倾向于 Boost),但我的问题可能与选择的库无关。
基本上我会有一个类(我们称之为CommandGenerator)在一个while循环中执行(直到终止)并检查由另一个软件填充的命令消息队列。每次 CommandGenerator 从队列中获取消息时,我希望它生成一个在后台执行并处理刚从队列中取出的数据的线程。同时,我希望 CommandGenerator 继续运行并再次绕过 while 循环并提取任何新消息并再次产生更多线程。这在概念上可能吗?我可以继续生成线程并让它们在后台运行直到它们完成,而代码继续循环并检查队列?CommandGenerator 不需要控制线程。
任何输入表示赞赏。