我想写一个boost :: thread_group。假设我正确理解线程中的回调是什么,我想在我的程序中应用它。
我找到了以下示例:(thread_group with out callback)
boost::thread_group group;
for (int i = 0; i < 15; ++i)
group.create_thread(aFunctionToExecute);
group.join_all();
如果我想将其更改为回调,是否只需在&
之前添加aFunctionToExecute
?
我考虑过在下列情况下使用回调:假设我有2个核心,而我的for循环从0到99(100个元素)。而不是打开100个线程,我想打开只有2个线程(在这个例子中的核心数),并且在每个线程用正确的变量完成计算之后,它将发送它完成的东西并等待命令运行再次,直到计算出所有100个元素。
有人知道我可以组合创建这个例子或几个例子吗?
由于我没有真正的线程经验,我想知道这种应用group_threads的方式是“正确的”吗?Reagrds