1. 程式人生 > >java多執行緒面試題小結

java多執行緒面試題小結

http://www.importnew.com/12773.html

http://www.cnblogs.com/fingerboy/p/5352880.html

https://blog.csdn.net/ll666634/article/details/78615505

https://blog.csdn.net/qq_39627461/article/details/79796020

 

執行緒計數器CountDownLatch和迴圈屏障CyclicBarrier

CyclicBarrier和CountDownLatch的區別

 

 

7. 怎麼喚醒一個阻塞的執行緒?
如果執行緒是因為呼叫了wait()、sleep()或者join()方法而導致的阻塞,可以中斷執行緒

,並且通過丟擲InterruptedException來喚醒它;如果執行緒遇到了IO阻塞,無能為力,因為IO是作業系統實現的,Java程式碼並沒有辦法直接接觸到作業系統。
11.ThreadLocal的作用是什麼?

1)ThreadLocal用來解決多執行緒程式的併發問題
2)ThreadLocal並不是一個Thread,而是Thread的區域性變數,當使用ThreadLocal維護變數時,ThreadLocal為每個使用該變數的執行緒提供獨立的變數副本,所以每個執行緒都可以獨立地改變自己的副本,而不會影響其它執行緒所對應的副本.
3)從執行緒的角度看,目標變數就象是執行緒的本地變數,這也是類名中“Local”所要表達的意思。
4)執行緒區域性變數並不是Java的新發明,Java沒有提供在語言級支援(語法上),而是變相地通過ThreadLocal的類提供支援.