线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,

线程池中有限资源请求队列排队功能实现原理
https://ke.qq.com/webcourse/index.html#cid=345381&term_id=100410551&taid=2786338558788901&vid=5285890793368255201

线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第1张图片

 

 

ThreadPoolExecutor线程池实现类

线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第2张图片

 线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第3张图片

 

 

 

假设队列大小为 10,corePoolSize 为 3,maximumPoolSize 为 6,那么当加入 20 个任务时,执行的顺序应该是怎样的?

1\首先执行任务 1、2、3,

2、然后任务 4~13 被放入队列。

3、 这时候队列满了,任务 14、15、16 会被马上执行,

4、而任务 17~20 则会抛出异常。

5、最终顺序是:1、2、3、14、15、16、4、5、6、7、8、9、10、11、12、13。

线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第4张图片

 

 线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第5张图片

 

 线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第6张图片

 

 线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第7张图片

 

 线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,_第8张图片

 

 

 

 

 

队列编程实战作业

https://leetcode.com/problems/number-of-recent-calls/

https://leetcode.com/problems/design-circular-deque/

https://leetcode.com/problems/task-scheduler/

你可能感兴趣的:(线程池中有限资源请求队列排队功能实现原理-- 线程池的用法,优先级队列PriorityQueue ,linkedList,ArrayDeque ,linkedBlocking Deque,)