luoyanhanhan 2016-09-13 02:00 采纳率: 0%
浏览 1110

新手gevent某API用途问题

# -*- coding:utf-8 -*-
import gevent
from gevent import monkey, Greenlet
monkey.patch_all()
from gevent.pool import Pool
import requests
p = Pool(2)#设置并发数为2

def down(url):
    print url+' '+str(len(requests.get(url).content))

urls = ['http://www.baidu.com','http://www.163.com/']
urls2=['http://www.qq.com','http://www.ifeng.com/','http://www.sina.com.cn','http://www.sohu.com/']

for url in urls:
    p.spawn(down, url)

print 'size of pool is %s'%len(p)
p.join()
def buildurl():
    for i in urls2:
        gevent.sleep(0)
        p.spawn(down,str(i))
        print 'size of pool is %s'%len(p)

p.spawn(buildurl)

loop = gevent.core.loop()
loop.run()

个人结合网上思路实现的动态添加任务的代码,但是不明白最后两句gevent.core.loop().run()作用是什么?

  • 写回答

1条回答

  • oyljerry 2016-09-13 15:08
    关注

    就是让所有的协程都在loop中开始调度 需要有run来一直处理

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作