import threading, time
sem = threading.Semaphore(3) #控制执行最多三个执行
def run():
with sem:
for i in range(10):
print("%s %d" %(threading.current_thread().name, i))
time.sleep(1)
if __name__=="__main__":
for i in range(5):
t = threading.Thread(target=run)
t.start()
import threading, time
bar= threading.Barrier(4)
def run():
print("%s start" %(threading.current_thread().name, ))
time.sleep(1)
bar.wait()
print("%s end" %(threading.current_thread().name,))
if __name__=="__main__":
for i in range(5):
t = threading.Thread(target=run)
t.start()
凑够一定数量才开始执行
Thread-1 start
Thread-2 start
Thread-3 start
Thread-4 start
Thread-5 start
Thread-4 end
Thread-3 end
Thread-2 end
Thread-1 end
import threading, time
def run():
i = 1
print("%s %d" %(threading.current_thread().name, i))
if __name__=="__main__":
t = threading.Timer(5, run)
t.start()
t.join()
print("结束")