本质思想:创建一个线程,不会立即停止或销毁,而是一直实现复用。
线程池实现伪代码:
1 在CPU资源不紧张或空闲时创建一定数量的线程,使其一直处于运行状态,平常的线程执行完就会销毁,此处我们可以使用死循环来实现;
2 当需要执行任务时,将该任务提交到缓存并发队列中,当缓存队列达到最大容量时,会执行线程池拒绝策略,并创建最大线程;
3 正在运行的线程会从缓存并发队列中拿取任务并执行,执行完之后会重新从缓存队列中获取并执行,直至缓存队列中的任务被执行完为止,从而实现多线程的复用问题。
以此来解决频繁创建线程对CPU带来的上下文频繁切换问题、资源消耗问题等。
线程池底层是如何实现复用?
于 2023-05-10 21:53:50 首次发布