python编程系列---多线程共享全局变量出现了安全问题的解决方法

多线程共享全局变量出现了安全问题的解决方法

  当多线程共享全局变量时,可能出现安全问题,解决机制----互斥锁:即在在一段与全局变量修改相关的代码中,假设一个时间片不足以完成全局变量的修改,就在这段代码中加个互斥锁(不是锁整个线程),强行暂停下个时间片的执行,让修改进行到一半的代码能够继续执行完,可以解决安全问题,这就导致还会有一些时间片的浪费,整个程序执行完的总时间的时间少于<2>中那些时间片的总和.

补充:同步:协同步调,并不是同时执行,而是按预先设定的顺序执行完----互斥锁为解决同步问题其中的一种

解决代码:

在Python3中:
# 1.创建锁
mutex_lock = threading.Lock()
# 2.加锁
mutex_lock.acquire()
# 3.释放锁
mutex_lock.release()

猜你喜欢

转载自www.cnblogs.com/ywk-1994/p/9439658.html
今日推荐