多线程基础知识
3:
5:實現(xiàn)runnable 接口
- 繼承Thread類
- 子類繼承Thread具備多線程的能力
- 啟動線程:子類對象.start()
- 不建議使用,避免OOP單繼承的局限性
- 實現(xiàn)Runnable接口
- 實現(xiàn)接口runnable具有多線程能力
- 傳入目標對象+thread.start()
- 推薦使用:避免單繼承的局限性,靈活方便,讓同一個對象被多個線程使用
7:實現(xiàn)callable接口
- 開啟服務,實現(xiàn)call 接口
- 提交線程執(zhí)行
- 使用代理,得到返回值
9:靜態(tài)代理
- 兩個都實現(xiàn)同一個接口
21:copyonwritearraylist
22:死鎖
23:顯示鎖
- lock是顯示的鎖,需要手動的開啟和關閉,而synchronized是隱式的鎖。除了作用域就自動的釋放掉
- lock只有代碼塊鎖,而synonym有代碼塊和方法鎖
- lock鎖,jvm花較少的時間來調度線程,性能更好,并且有更好的擴展性
- 優(yōu)先使用順序
- lock > 同步代碼塊 > 同步方法
24:生產者,消費者模式
總結
- 上一篇: 一面凉凉问题
- 下一篇: 归并排序相关题目(待编辑)