我有一個簡單的方法dataclass來跟蹤我的開關狀態
@dataclass
class status:
switch: bool = False
此類用于由兩個執行緒,所以我想實作一個邏輯,以lock在switch變數變化而其他執行緒改變switch值。
就像是
@dataclass
class status:
lock: bool = False
switch: bool = False
def setattr(self, val):
if self.lock is not False:
self.switch = val
我想知道是否有更好的方法來設定這樣的邏輯。我不需要呼叫上面的方法來檢查lock更改switch變數的東西。
uj5u.com熱心網友回復:
您應該使用現有的“鎖定”。例如在執行緒庫中。當您希望一個執行緒擁有它并使用鎖定的資源時,您可以“獲取”該鎖定。當另一個執行緒試圖獲取鎖時,它將阻塞,直到第一個執行緒釋放它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/343214.html
