python線程

 threading.Thread父類來實現自定義的類

全局變量在線程中是共享的

最近面試出現一個問題  是num=num+1是線程安全的嗎   如果是,爲什麼,如果不是,如何實現線程安全呢?

答案是不安全的  那麼讓其線程安全 ,就要回答如何能讓一個線程安全的問題,可以在網上查一下如果實現線程安全 https://blog.csdn.net/galaxyxupt/article/details/81613181

 

互斥鎖(用來解決上述問題):

acquire獲得資源進行上鎖,release釋放鎖釋放資源

 

儘量少加鎖  因爲多個線程搶奪同一個資源,那麼時間上可能導致更長 

每個線程執行某個函數  裏面的局部變量和另一個執行同樣函數的線程分別有不同的局部變量

 

死鎖:線程死鎖是指由於兩個或者多個線程互相持有對方所需要的資源,導致這些線程處於等待狀態,無法前往執行。

避免死鎖:程序設計的時候儘量避免(銀行家算法)   2 添加超時時間

 

 

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