我怎么知道阻止库方法是否在他们拥有的线程中执行



JCIP的摘要 -

任务不会在其拥有的线程中执行;他们借了由 诸如线程池之类的服务.....

这就是为什么大多数阻止库方法只是投掷 响应中断时的中断感受。他们永远不会 在他们拥有的线程中执行..

考虑线程中的摘要:

void run(){
   try{
       blockingQueue.put(...);          // statement 1
   }catch(InterruptedException e){
       // exception handling....
   }
}

作为 BlockingQueue.put()是一种阻止方法,这意味着 task> task(语句1)从不执行它拥有的上述线程?

任务不会在他们拥有的线程中执行

意味着任务没有本身的线程,它仅在其借用的线程中执行。也就是说,我们无法在不为其分配线程的情况下启动任务,因为该任务无法创建线程本身。

在您的代码中,任务(语句1)在线程中执行您为其分配的线程(in in in in in in In),任务(语句1)不会在其拥有的线程中执行(创建)。

<</p> <</p>

最新更新