c语言线程池关于空闲线程队列的疑问?

c语言线程池关于空闲线程队列的疑问?

问题描述:

一般的线程池都会有任务队列、繁忙线程队列和空闲线程队列。这些队列的具体作用是什么呢?我觉得没有这些队列也是可以实现线程池的。

我认为这些队列在线程池中的一个主要作用就是:用于控制线程个数,当空闲线程队列个数低于最小值时需要创建新线程,当空闲线程队列个数高于某个最大值时需要减少线程个数。而这些不用空闲线程队列用计数也是可以做到的,当有空闲线程时计数就+1,然后如果这个数值低于最小值时就创建新线程。

能不能说说如果不用队列,会出现什么问题?

相当于给任务一个优先级
简单的就是一个消息队列。