美文网首页
Python多线程的LOCK对象方法

Python多线程的LOCK对象方法

作者: 大海龟啦啦啦 | 来源:发表于2020-05-29 10:03 被阅读0次

LOCK对象方法

在多线程中使用lock可以让多个线程在共享资源的时候不会“乱”。锁有两种状态:锁定和未锁定。而且也只有两个函数;获取锁和释放锁,当多线程争夺锁的时候,允许第一个获得锁的线程进入运算区,并执行代码,之后想要进入的代码都被暂停,当第一个线程执行结束,退出运算区,释放锁,此时其他线程进入运算区,不过被堵在运算区外的线程时无序的。

LOCK对象方法 描述
acquire() 获取锁
release() 释放锁
import threading

value = 0
lock = threading.Lock() # 创建锁示例

def add_value():
    global value
    lock.acquire() # 获得锁
    for x in range(10000000):
        value += 1
    lock.release() # 释放锁
    print('value:',value)

def main():
    threads = []
    for i in range(0,2):
        t = threading.Thread(target=add_value)
        threads.append(t)

    for i in range(3):
        threads[i].start()

if __name__ == '__main__':
    main()

相关文章

网友评论

      本文标题:Python多线程的LOCK对象方法

      本文链接:https://www.haomeiwen.com/subject/uzztzhtx.html