后端进程中按任务分为多种不同的线程池。专门有一个接受任务的线程,这个线程与线程池之间有缓存队列,当有任务来时,按任务的类型存放到不同缓存中,当缓存中有任务时,会通过信号量通知线程池中的线程处理任务。这时线程池中当前没有空闲线程,该任务会留在缓存中等待被处理。正在被线程处理的任务需要设置超时时间,避免新的任务不能被处理。或者动态新增线程数目,等任务增长的速度慢了后,在将线程池中的数量回退到初始值。
后端进程中按任务分为多种不同的线程池。专门有一个接受任务的线程,这个线程与线程池之间有缓存队列,当有任务来时,按任务的类型存放到不同缓存中,当缓存中有任务时,会通过信号量通知线程池中的线程处理任务。这时线程池中当前没有空闲线程,该任务会留在缓存中等待被处理。正在被线程处理的任务需要设置超时时间,避免新的任务不能被处理。或者动态新增线程数目,等任务增长的速度慢了后,在将线程池中的数量回退到初始值。
本文标题:线程池如何取线程去执行任务的?
本文链接:https://www.haomeiwen.com/subject/ajqisxtx.html
网友评论