線程安全和線程同步筆記

當初覺得線程安全是個很大的概念,其實線程同步就是爲了確保線程安全。

當兩個線程共享一個數據的時候,當兩者同時寫這個數據的時候,就會出現寫權力的爭奪問題。

所以爲了避免兩個線程同時操作一個數據的情況,引入了線程同步的概念。

兩個線程同時操作一個數據的情況,也就是線程安全的問題。

清楚了上述概念,再去深入線程同步,思路就清晰了。線程同步的方法請查閱其他大神的文章。

線程安全,也可能不止上述一個問題,以後我要是再碰到了,再來這篇文章補充。

---------------------------------------------------------------------------------

同步和異步:在等待某件事情完成的時候,

1、事情完成不會主動告知你,需要你自己去詢問才知道結果,這個是同步

2、事情完成,主動告知你,這個是異步

同步和異步是得知事件結果的方式不同來定義的。

阻塞和非阻塞:在等待某件事情完成的時候

1、等待的過程,我啥事都不幹就等着這件事完成,這個是阻塞

2、等待的過程,我可以順帶乾點別的事,這個是非阻塞

阻塞和非阻塞跟這件事的結果沒關係,跟等待的過程有關係。

 

 

線程a 讓線程b 幹一件事情c

a對b說:“你把c幹了,幹完了告訴我,我去幹點別的事情”

這個時候就是異步非阻塞模式

a對b說:“你把c幹了”。a啥事不幹就盯着b幹c,一會一問 幹完了沒有?,直到b幹完了

這個是同步阻塞

a對b說:“你把c幹了”。然後a去幹別的事情,一會一問 幹完了沒有?直到b幹完了

這個是異步阻塞

 

-----------------------------------------------------------------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章