如果我将作品张贴到线程池,并且线程已经在Boost中工作,会发生什么
What happens if I posted a work to thread pool and the threads are already working in boost?
如果我为线程池摆姿势并且线程已经在boost中起作用会发生什么?
我已经看到了这个主题(如何使用C 中的Boost创建线程池?),该主题解释了如何创建池。
我在此主题中也发现了(https://stackoverflow.com/a/12267138/7108553)
,如果我将作业分配给池,所有线程都在工作 然后丢弃了工作。
我的问题是,如果我以与此相似的方式创建池(如何使用C 中的Boost创建线程池?),这是这样的情况吗?
我的理解是,如果我将作业分配给池,所有线程已经在工作,那么这将由图书馆内部处理,一旦线程完成,就将作业分配给了它。.这是正确的吗?
,如果没有,是否有一种有效的方法可以跟踪自由和占领线程?
在两个链接中,答案都使用ASIO,它将发布到io_service,它将加入工作,直到有一个免费线程运行为止。
如果工作增加了可用线程的数量,则可以将更多线程与IO服务相关联。显然,总有回报的点。
相关文章:
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- boost::文件系统::recursive_directory_iterator多线程安全
- 将更高的优先级设置为 boost::asio 线程处理进程
- 如何正确取消析构函数中的 Boost deadline_timer(在多线程环境中)?
- boost信号和插槽在不同的线程中不工作(使用boost::asio::io_service)
- BOOST线程:线程还是进程
- C++boost,等待来自不同线程的varinit
- 如何解决传递给boost线程的函数中的歧义
- 调用boost.asio的异步函数时,线程是什么时候创建的
- cpp 为什么 boost::线程内部的循环不遍历所有值并且推送相同的值?
- 如何使用boost.thread运行多个接收器,每个线程应该分配给每个接收器?
- 使用Boost将单线线程转换为多线程
- C 带有两个线程的boost async_read vs
- 重写多线程事件驱动的C 程序以使用单线程Boost :: Asio
- 多个boost io_service在单独的线程上用于多个网卡
- 在具有许多内核的计算机上,使用 Boost ASIO 只能使用 1 个线程
- 我们是否需要每个线程多个io_service用于具有单个接受器的线程 boost::asio 服务器
- 如何实现动态线程 Boost::Barrier
- 线程+ boost::函数中的getline访问冲突
- 使用c++线程/ boost线程的有效方法