
import threadingdef main():lock.acquire()print('第一道锁')lock.acquire()print('第二道锁')lock.release()lock.release()if __name__ == '__main__':lock = threading.Lock()main()
# 输出第一道锁
import threadingdef main():lock.acquire()print('第一道锁')lock.acquire()print('第二道锁')lock.release()lock.release()if __name__ == '__main__':lock = threading.RLock()main()
# 输出第一道锁第二道锁
import threadingdef main():lock.release()print("在子线程解锁后打印")if __name__ == '__main__':lock = threading.Lock()lock.acquire()t = threading.Thread(target=main)t.start()
# 输出在子线程解锁后打印
import threadingimport timedef fun_1():print('开始')time.sleep(1)lock.acquire()print("第一道锁")fun_2()lock.release()def fun_2():lock.acquire()print("第二道锁")lock.release()if __name__ == '__main__':lock = threading.RLock()t1 = threading.Thread(target=fun_1)t2 = threading.Thread(target=fun_1)t1.start()t2.start()
# 输出开始开始第一道锁第二道锁第一道锁第二道锁
往期推荐
点击【阅读全文】直达B站文章转载自AI有温度,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




