python 鎖的兩種用法
程序中鎖的作用:
在程序中用到多線程,對臨界區進行加鎖處理以避免出現競爭條件。
1.基礎用法:
import threading
value_lock = threading.Lock()
value_lock.acquire()
#需要加鎖的代碼段
value_lock.release()
2.與with搭配的用法
import threading
value_lock = threading.Lock()
with value_lock:
#需要加鎖的代碼段
對兩種用法的比較:
使用with更優雅並更不容易出錯:使用第一種方法可能會出現忘記使用release()的情況。with語句會保證總是釋放鎖。