大家好,我是我是深圳分院第十期java學員,一枚正直純潔善良的Java程序員。今天給大家分享一下,修真院官網java任務十:多線程
1.背景介紹
線程,有時被稱爲輕量級進程。
線程是進程中的一個實體,是被系統獨立調度和分派的基本單位。
單個程序中同時運行多個線程完成不同的工作,稱爲多線程
Runnable and Thread
Thread實現了Runnable,至於兩者的真正區別最主要的就是一個是繼承,一個是實現;
使用Runnable可以避免java中的單繼承的限制
2.知識剖析
3.常見問題
多線程與多進程
1。單進程單線程:一個人在一個桌子上吃菜。
2。單進程多線程:多個人在同一個桌子上一起吃菜。
3。多進程單線程:多個人每個人在自己的桌子上吃菜。
4.編碼實戰
5.擴展思考
鎖與同步
當兩個或者多個線程同時想要去獲取共享資源的鎖時,
但每個線程都要等其他線程把他們各自的鎖給釋放,才能繼續運行,這就是死鎖.
6.參考文獻
百度,博客
7.更多討論
問題一:runnable與thread的使用區別
答一:建議使用runnable,runnable是接口可以被實現,thread是類得被繼承,所以出於複用的考慮肯定用接口實現更加符合我們使用規則
問二:同步使用哪個方法
答二:一般使用syncronized
問三:爲何會發生互鎖情況
答三:因爲線程之間佔有了資源但是又在請求資源時發生相互佔用需要使用的資源,但是又不放開