BlockingDeque 类是一个双端队列,在不能够插入元素时,它将阻塞住试图插入元素的线程;在不能够抽取元素时,它将阻塞住试图抽取的线程。
deque(双端队列) 是 "Double Ended Queue" 的缩写。因此,双端队列是一个你可以从任意一端插入或者抽取元素的队列。package what21.thread.deque;
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class BlockingMain {
final int CPU_COUNT = 4;
// 阻塞栈
BlockingDeque taskDeque = new LinkedBlockingDeque();
// 线程池
ThreadPoolExecutor executor = new ThreadPoolExecutor(CPU_COUNT,
CPU_COUNT, 60L, TimeUnit.SECONDS, taskDeque);
/**
* 运行
*
* @param task
*/
public void runOrDequeTask(SampleTask task) {
executor.execute(task);
}
/**
* 关闭