[Java多线程] LinkedBlockingQueue
Posted INEFFABLE LAND
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java多线程] LinkedBlockingQueue相关的知识,希望对你有一定的参考价值。
java.util.concurrent包下的新类。
LinkedBlockingQueue
就是其中之一,是一个阻塞的线程安全的队列,底层采用链表实现。
LinkedBlockingQueue
LinkedBlockingQueue
构造的时候若没有指定大小,则默认大小为Integer.MAX_VALUE
,当然也可以在构造函数的参数中指定大小
- 创建一个线程池,队列基于LinkedBlockingQueue
lazy val executor = new ThreadPoolExecutor(20, 20, 0L, TimeUnit.MILLISECONDS,
//基于阻塞队列,大小设置为100
new LinkedBlockingQueue(100),
//拒绝策略,当队列满了之后,又达到了max size,将会将任务提交到主线程中进行处理
new ThreadPoolExecutor.CallerRunsPolicy()
)
// println(s"THREADS = $THREADS")
// Executors.newFixedThreadPool(THREADS)
}
以上是关于[Java多线程] LinkedBlockingQueue的主要内容,如果未能解决你的问题,请参考以下文章