同步应用(python 版)

 2023-09-06 阅读 26 评论 0

摘要:同步应用 多个线程有序执行from threading import Thread,Lock from time import sleepclass Task1(Thread):def run(self):while True:if lock1.acquire():print("------Task 1 -----")sleep(0.5)lock2.release()class Task2(Thread):def run(self):while True:if lo

同步应用

多个线程有序执行
from threading import Thread,Lock
from time import sleepclass Task1(Thread):def run(self):while True:if lock1.acquire():print("------Task 1 -----")sleep(0.5)lock2.release()class Task2(Thread):def run(self):while True:if lock2.acquire():print("------Task 2 -----")sleep(0.5)lock3.release()class Task3(Thread):def run(self):while True:if lock3.acquire():print("------Task 3 -----")sleep(0.5)lock1.release()#使用Lock创建出的锁默认没有“锁上”
lock1 = Lock()
#创建另外一把锁,并且“锁上”
lock2 = Lock()
lock2.acquire()
#创建另外一把锁,并且“锁上”
lock3 = Lock()
lock3.acquire()t1 = Task1()
t2 = Task2()
t3 = Task3()t1.start()
t2.start()
t3.start()
运行结果:------Task 1 -----
------Task 2 -----
------Task 3 -----
------Task 1 -----
------Task 2 -----
------Task 3 -----
------Task 1 -----
------Task 2 -----
------Task 3 -----
------Task 1 -----
------Task 2 -----
------Task 3 -----
------Task 1 -----
------Task 2 -----
------Task 3 -----
...省略...

总结

  • 可以使用互斥锁完成多个任务,有序的进程工作,这就是线程的同步

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/9833.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息