标签:变量 cut 包装 lin queue ret targe 基于 ice
ExecutorCompletionService:提交任务线程,每一个线程任务直线完成后,将返回值放在阻塞队列中,然后可以通过阻塞队列的take()方法返回 对应线程的执行结果,是Executor和BlockingQueue的结合体,xecutorCompletionService在构造函数中会创建一个BlockingQueue(使用的基于链表的无界队列LinkedBlockingQueue),该BlockingQueue的作用是保存Executor执行的结果。当计算完成时,调用FutureTask的done方法。当提交一个任务到ExecutorCompletionService时,首先将任务包装成QueueingFuture,它是FutureTask的一个子类,然后改写FutureTask的done方法,之后把Executor执行的计算结果放入BlockingQueue中
futureTask:任务状态由变量state表示,任务状态都基于state判断。而futureTask的阻塞则是通过自旋+挂起线程实现.揭秘futureTask
标签:变量 cut 包装 lin queue ret targe 基于 ice
原文地址:https://www.cnblogs.com/Genesisx/p/9442326.html