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

it2022-05-06  7

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

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

 

 

补充:

在多线程编程中,一些敏感数据不允许被多个线程同时访问,因为会出现线程安全问题,通过线程同步机制,能保证共享数据在任何时刻,最多有一个线程访问,以保证数据的正确性;线程同步就是线程排队

 

解决代码:

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

 

 

 

 

如果你和我有共同爱好,我们可以加个好友一起交流!

 

转载于:https://www.cnblogs.com/ywk-1994/p/9439658.html


最新回复(0)