pythonのgevent同步异步区别

2021-07-08 02:05

阅读:446

标签:process   pen   dmi   monk   tps   yahoo   user   from   char   

 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同步异步区别

标签:process   pen   dmi   monk   tps   yahoo   user   from   char   

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


评论


亲,登录后才可以留言!