如果我将作品张贴到线程池,并且线程已经在Boost中工作,会发生什么

What happens if I posted a work to thread pool and the threads are already working in boost?

本文关键字:线程 Boost 工作 什么 张贴 如果      更新时间:2023-10-16

如果我为线程池摆姿势并且线程已经在boost中起作用会发生什么?

我已经看到了这个主题(如何使用C 中的Boost创建线程池?),该主题解释了如何创建池。

我在此主题中也发现了(https://stackoverflow.com/a/12267138/7108553)

,如果我将作业分配给池,所有线程都在工作 然后丢弃了工作。

我的问题是,如果我以与此相似的方式创建池(如何使用C 中的Boost创建线程池?),这是这样的情况吗?
我的理解是,如果我将作业分配给池,所有线程已经在工作,那么这将由图书馆内部处理,一旦线程完成,就将作业分配给了它。.这是正确的吗?

,如果没有,是否有一种有效的方法可以跟踪自由和占领线程?

在两个链接中,答案都使用ASIO,它将发布到io_service,它将加入工作,直到有一个免费线程运行为止。

如果工作增加了可用线程的数量,则可以将更多线程与IO服务相关联。显然,总有回报的点。