Python之多线程学习【4】:lock锁的应用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_36499794/article/details/102766395

一. 解析

    如果某一些线程,你不希望交替执行,而是想一个线程做完再去做其他的线程,那就需要用到锁

二. 代码

import threading

def job1():
    global A, lock
    lock.acquire() # 加锁
    for i in range(10):
        A += 1
        print('job1', A)
    lock.release() # 释放锁   这样只有这个做完释放之后才会去做job2的东西

def job2():
    global A, lock
    lock.acquire()
    for i in range(10):
        A += 10
        print('job2', A)
    lock.release()

if __name__ == '__main__':
    lock = threading.Lock()
    A = 0
    t1 = threading.Thread(target=job1)
    t2 = threading.Thread(target=job2)
    t1.start()
    t2.start()
    t1.join()
    t2.join()

三.  运行结果

猜你喜欢

转载自blog.csdn.net/qq_36499794/article/details/102766395