本來沒有準備寫這個的。但是還是為了自己,同時也是為了别人。将我看書獲得的一些體會寫出來,希望有緣分的朋友看得到。這個隻是一些提綱性的東西,本身就是自己看的,估計懂的少了。實在需要,我可以細心講解。在下一步看線程池的時候,我總結一下JDK的一些多線程管理的知識。
前面我們講解了線程多線程:
* 主要講解了一些鎖定概念,鎖保證了線程的安全;
* object+synchnozed:wait+notify
* 線程方法總結:
* 1\suspend挂起+resume恢複=會産生死鎖
* 2\join加入目前線程+yield謙讓(暫時放棄)
* 3\線程組:達到明确知道你的線程屬于哪個組
* 4\線程優先級别 預設為5,總共為1-10
* 5\守護線程,在其他線程結束之後,就結束
* 6\同步關鍵字synchronized
* 7\線程中的的不安全arraylist與hashmap:arraylist由于過多,list越界;hasmap的連結清單破壞.容易next亂指(都是由于多線程通路引起)
* 8\java基礎類型被制定就不能修改指:例如Integer
* JDK線程加鎖總結:
* 1\synchronized擴充,重入鎖RenntrantLok.重入鎖需要自己控制lock與unlock;
* 2\reentrantLock的中斷可以避免死鎖
* 3\RenntacntLock可以使用trylock 可以設定時間等待
*4\重入鎖的公平鎖
* 5\重入鎖的好搭檔 condition 的wait與sigal
* 6\信号量semahpore----準許同時可以通路
* 7\信号量更新版本 讀寫所ReadWriteLock 寫寫互斥
* 8\倒計時CountDownLathc-----計數實作任務;(cyclicBarrier循環栅欄)
* 9線程阻塞-----park與unpark 另一個unpar可以解鎖另一個park