美文网首页
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