AQS-節點的起始狀態0是怎麼來的,爲什麼要有0這個狀態?

首先看下代表節點狀態的是哪個字段: 這時候可以發現waitStatus是int類型,默認值自然就爲0了。 所以這時候就可以先知道,爲什麼節點的起始狀態是0。那麼接下來看一段代碼: 從以上截圖可以發現,當ws的值是0時,會走進else中的邏輯,通過CAS把0設置爲-1,那爲什麼不一開始就設置爲-1呢,還要多出這一步? 這裏分享一個簡單的理解思路,狀態存在即是合理,會不會有一些方法,是在節點狀態值爲0
相關文章
相關標籤/搜索