"""信号量"""
import threading
import time
class Mythread(threading.Thread):
def __init__(self,num):
super(Mythread, self).__init__()
self.num = num
def run(self):
if semaphore.acquire(): #对线程进行上锁,除此之外其他的数据无法访问
print("线程" + self.num)
time.sleep(1)
semaphore.release( )
if __name__ == '__main__':
semaphore = threading.Semaphore(3)
all_thread = []
for i in range(10):
all_thread.append(Mythread(str(i)))
for j in all_thread:
j.start()