(1)互斥锁方法
import threading
def work_1():
for i in range(3):
mutex1.acquire()
print(“A”)
try:
mutex2.release()
except:
pass
def work_2():
for i in range(3):
mutex2.acquire()
print(“B”)
try:
mutex3.release()
except:
pass
def work_3():
for i in range(3):
mutex3.acquire()
print(“c”)
try:
mutex1.release()
except:
pass
if name == “main”:
mutex1 = threading.Lock()
mutex2 = threading.Lock()
mutex3 = threading.Lock()
t1 = threading.Thread(target=work_1)
t2 = threading.Thread(target=work_2)
t3 = threading.Thread(target=work_3)
t1.start()
t2.start()
t3.start()
t1.join()
t2.join()
t3.join()
(2)时间差方法
import threading
import time
def work_1():
for i in range(3):
time.sleep(0.5)
print(“A”)
def work_2():
for i in range(3):
time.sleep(0.6)
print(“B”)
def work_3():
for i in range(3):
time.sleep(0.7)
print(“c”)
if name == “main”:
t1 = threading.Thread(target=work_1)
t2 = threading.Thread(target=work_2)
t3 = threading.Thread(target=work_3)
t1.start()
t2.start()
t3.start()
t1.join()
t2.join()
t3.join()
能想到的是这俩,欢迎各路大佬指导补充