首页 > 编程语言 > 详细

pythonのgevent同步异步区别

时间:2018-09-04 16:27:52      阅读:172      评论:0      收藏:0      [点我收藏+]
 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:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.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同步异步区别

原文:https://www.cnblogs.com/pengpengzhang/p/9585034.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!