一、建立多線程的方式有幾種java
二、如何實現業務拆分紅多線程併發執行,最後合併?安全
三、描述線程的週期和各類狀態的轉換多線程
四、start和run的區別併發
五、關閉一個線程有幾種方式,哪一種方法比較優雅框架
六、sleep、wait、yield三種方法的區別?線程
七、join方法有何做用內存
八、實現多線程同步的幾種關鍵字或方式,說出他們區別。同步
九、多線程併發的三大特性是什麼?it
十、線程池的概念?java提供的線程池包如何建立線程池?簡單描述種類和區分,如何建立。鉤子
十一、當線程池過大線程池應當如何處理?
十二、什麼是HOOK鉤子線程?
1三、線程之間是如何通訊的?
1四、描述一下多線程的生產消費模式?
1五、死鎖的緣由、類型、如何避免?
1六、線程如何拿到返回結果?
1七、爲何要使用線程池?
1八、線程池的submit和execute啓動線程的區別?
1九、Fork/Join框架的做用?
20、線程安全的數據類型和集合有哪些?
2一、保證「可見性」有哪些方式?
2二、Thread.sleep(0)有什麼用?
2三、JVM內存模型哪些是線程共享,哪些是私有的?
2四、什麼是悲觀鎖什麼是樂觀鎖?
2五、ThreadLocal是什麼?有什麼應用場景?
2六、FutureTask是什麼?
2七、爲何wait, notify 和 notifyAll這些方法不在thread類裏面?
2八、什麼是Future, FutureTask?
2九、Java中堆和棧有什麼不一樣?
30、編寫一個生產消費者的java案例
3一、編寫一個死鎖的java案例
3二、怎麼檢測一個線程是否擁有鎖?