threading.Thread父類來實現自定義的類
全局變量在線程中是共享的
最近面試出現一個問題 是num=num+1是線程安全的嗎 如果是,爲什麼,如果不是,如何實現線程安全呢?
答案是不安全的 那麼讓其線程安全 ,就要回答如何能讓一個線程安全的問題,可以在網上查一下如果實現線程安全 https://blog.csdn.net/galaxyxupt/article/details/81613181
互斥鎖(用來解決上述問題):
acquire獲得資源進行上鎖,release釋放鎖釋放資源
儘量少加鎖 因爲多個線程搶奪同一個資源,那麼時間上可能導致更長
每個線程執行某個函數 裏面的局部變量和另一個執行同樣函數的線程分別有不同的局部變量
死鎖:線程死鎖是指由於兩個或者多個線程互相持有對方所需要的資源,導致這些線程處於等待狀態,無法前往執行。
避免死鎖:程序設計的時候儘量避免(銀行家算法) 2 添加超時時間