1、執行緒和程序的區別
2、實現執行緒有哪幾種方式?
3、執行緒有哪幾種狀態?它們之間如何流轉的?
4、執行緒中的start()和run()方法有什麼區別?
5、怎麼終止乙個執行緒?如何優雅地終止執行緒?
6、threadlocal在多執行緒中扮演什麼角色?
7、執行緒中的wait()和sleep()方法有什麼區別?
8、多執行緒同步有哪幾種方法?
9、什麼是死鎖?如何避免死鎖?
10、多執行緒之間如何進行通訊?
11、執行緒怎樣返回結果?如何獲取?
12、說說violatile關鍵字有什麼用,和synchronized有什麼區別?
13、假如新建t1、t2、t3三個執行緒,如何保證它們按順序執行?
14、怎麼控制同一時間只有3個執行緒執行?
15、為什麼要使用執行緒池?
16、說一說常用的幾種執行緒池並講講其中的工作原理。
17、執行緒池啟動執行緒submit()和execute()有什麼不同?
18、說說多執行緒併發控制中的倒計時器、迴圈柵欄是什麼,有什麼應用場景?
19、什麼是活鎖、飢餓、無鎖、死鎖?
20、什麼是原子性、可見性、有序性?
21、什麼是守護執行緒?有什麼用?
22、怎麼中斷乙個執行緒?如何保證中斷業務不影響?
23、yield()方法有什麼用?
24、什麼是重入鎖,和synchronized鎖有什麼區別?
25、synchronized有哪幾種用法?
26、fork/join框架是幹什麼的?
27、如何給執行緒傳遞引數?
28、說說執行緒安全的和不安全的集合。
29、什麼是cas演算法?在多執行緒中有哪些應用。
30、你遇到過哪些多執行緒的問題?都是如何解決的?
java多執行緒面試題
有三個執行緒id分別是a b c,請有多線程式設計實現,在螢幕上迴圈列印10次abcabc 由於執行緒執行的不確定性,要保證這樣有序的輸出,必須控制好多執行緒的同步。執行緒同步有兩種基本方法 1 synchronized 2 wait,notify,notifyall 現在分別採用這兩種方法來解答這...
Java多執行緒面試題
執行緒池的原理,為什麼要建立執行緒池?將預先建立好的執行緒放入執行緒池當中。當有執行緒請求時,則從執行緒池中呼叫執行緒,呼叫結束之後歸還執行緒。當出現需要建立大量執行緒的情況時,反覆的建立執行緒會造成大量的效能損耗。使用執行緒池能降低損耗,提高響應的速度,方便管理執行緒。執行緒的生命週期,什麼時候會...
java多執行緒面試題1
假設如下 中,若t1執行緒在t2執行緒啟動之前已經完成啟動。的輸出是 public static void main stringargs throws exception catch interruptedexception e t1.start thread.sleep 1000 we assu...