0
來自JCIP的摘要 -我將如何知道阻塞庫方法是否在他們自己的線程中執行?
任務不會在它們自己的線程中執行;他們借用線程 所擁有的線程池等服務.....
這就是爲什麼大多數阻塞庫方法只是拋出 InterruptedException來響應中斷。他們將永遠 在他們自己的線程中執行,..
考慮一個線程的代碼片段:
void run(){
try{
blockingQueue.put(...); // statement 1
}catch(InterruptedException e){
// exception handling....
}
}
由於BlockingQueue.put()
是一個阻塞方法,這是否意味着任務(聲明1)從不在它擁有的上述線程中執行?