gevent和threading多线程的两种写法

tech2024-12-03  7

#! -*- coding:utf-8 -*- import gevent from gevent import monkey import time # 这行代码必须 # 能够将大部分阻塞式系统调用变为协作式 monkey.patch_all() def get_body(i): print("start", i) time.sleep(2) print("end", i) # spawn大量生产 tasks = [gevent.spawn(get_body, i) for i in range(3)] gevent.joinall(tasks) import threading import time def get_body(i): print("start", i) time.sleep(2) print("end", i) for i in range(3): # 注意参数后面必须要加上逗号,因为args要求是可迭代参数,加逗号正好满足 t = threading.Thread(target=get_body, args=(i,)) t.start() # 设置子线程守护主线程,即主线程退出,子线程强制退出 # t1.setDaemon(True) # 主线程等待所有子线程执行完毕才退出 # t.join()

效果

最新回复(0)