码迷,mamicode.com
首页 > 编程语言 > 详细

多个线程通过互斥锁有序的执行

时间:2019-01-31 13:08:26      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:lease   time   threading   print   线程   class   没有   ocs   while   

from threading import Thread,Lock
from time import sleep

class Task1(Thread):
	"""y‘;]lopppdocstring for Task1"""
	def run(self):

	 	while 1:
	 		if lock1.acquire():
	 			print("---task1----")
	 			sleep(1)
	 			lock2.release()


class Task2(Thread):
	"""docstring for Task2"""
	def run(self):
		while 1:
			if lock2.acquire():
				print("---task2----")
				sleep(1)
				lock3.release()

		
class Task3(Thread):
	"""docstring for Task3"""
	def run(self):
		while 1:
			if lock3.acquire():
				print("---task3----")
				sleep(1)
				lock1.release()
		

#创建3把锁
#使用lock创建的锁,默认没有“上锁”
lock1 = Lock()

lock2 = Lock()
lock2.acquire()

lock3 = Lock()
lock3.acquire()


t1 = Task1()
t2 = Task2()
t3 = Task3()

t1.start()
t2.start()
t3.start()

  

多个线程通过互斥锁有序的执行

标签:lease   time   threading   print   线程   class   没有   ocs   while   

原文地址:https://www.cnblogs.com/qiushanjian/p/10341230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!