併發程式設計基礎與原子操作

小樓昨夜又西風發表於2019-03-07

在這裡插入圖片描述
小疑問: 上面的Thread的構造方法和我們平時new Thread()感覺有點區別啊?平時寫的時候沒有寫“ThreadGroup,stackSize”引數啊

2.執行緒的生命週期
在這裡插入圖片描述
在這裡插入圖片描述
下面是對suspend()方法和stop()方法的原理解析
在這裡插入圖片描述
小疑問: 上面畫紅線的地方所表達的意思是什麼呢?
在這裡插入圖片描述
解釋: “守護執行緒”的作用就是為了服務“非守護執行緒”的,只要存在“非守護執行緒”,那麼“守護執行緒”就不會死亡
小疑問: 為什麼上述suspend會導致資料不同步?以及suspend造成死鎖的原理是什麼?
在這裡插入圖片描述
小疑問: ①上述第3點“如果執行緒阻塞,如採用sleep(),執行緒將捕捉異常並退出阻塞”這句話不是很理解,哪裡來的異常呢?這是個問題,sleep()方法並不會產生異常
②interrupt()方法和isInterrupted()方法的作用各是什麼呢?

二.原子操作
1.CAS(Compare and Swap)
在這裡插入圖片描述
小疑問: 上述說的ABA問題,迴圈時間長開銷大是什麼意思啊?為什麼會迴圈時間長啊?

在這裡插入圖片描述

相關文章