pythonのgevent同步异步区别

Posted 。低调ヽ继续

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pythonのgevent同步异步区别相关的知识,希望对你有一定的参考价值。

 1 #!/usr/bin/env python
 2 
 3 from urllib import  request
 4 import  gevent
 5 from gevent import monkey
 6 import time
 7 
 8 monkey.patch_all() # 把当前程序所有的IO操作给我单独的做上标记。
 9 def f(url):
10     resp = request.urlopen(url)
11     data = resp.read()
12     print(len(data))
13 
14 urls = ["https://www.python.org",
15         "https://www.yahoo.com",
16         "https://github.com"
17         ]
18 time_start = time.time()
19 for url in urls:
20     f(url)
21 print("同步花费时间:",time.time()-time_start)
22 
23 asy_time = time.time()
24 gevent.joinall({
25     gevent.spawn(f,"https://www.python.org"),
26     gevent.spawn(f,"https://www.yahoo.com"),
27     gevent.spawn(f,"https://github.com"),
28 })
29 print("异步花费时间:",time.time()-asy_time)
C:UsersAdministratorAppDataLocalProgramsPythonPython37python.exe D:/PythonStudy/charm/01/day10/爬虫.py
48822
479812
64096
同步花费时间: 4.925281763076782
48822
64096
477025
异步花费时间: 3.1961827278137207

Process finished with exit code 0

 

以上是关于pythonのgevent同步异步区别的主要内容,如果未能解决你的问题,请参考以下文章

Gevent中的同步与异步详解

day⑨: 协程_gevent

gevent.queue

Python基于gevent 轻松实现百万级并发

# 进程/线程/协程 # IO:同步/异步/阻塞/非阻塞 # greenlet gevent # 事件驱动与异步IO # SelectPollEpoll异步IO 以及selectors模块 # (示

Python入门学习-DAY37-进程池与线程池协程gevent模块