参考
使用并发常用的场景就是来了一个请求然后并行做一些事情,然后控制超时,丢掉那些慢的结果。
在这里可以选择使用文章里的demo:
import gevent
from gevent import Timeout
def wait():
gevent.sleep(2)
def test_gevent():
t = time.time()
threads = []
for i in range(10):
thread1 = gevent.spawn(wait)
threads.append(thread1)
print("used time0: ", time.time() - t)
timer = Timeout(1).start()
try:
gevent.joinall(threads, timeout=timer)
except Timeout:
print("Thread timed out")
print("used time: ", time.time() - t)