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语句会保证总是释放锁。