gevent模块学习(三)】的更多相关文章

3. Group类,常用于不限制数量的管理异步任务的分组且可搜集运行结果 g = gevent.pool.Group(*args) -> Group 说明: 创建一个组对象,其实就是一个不限greenlets数量的pool,可以随时添加/删除/关闭greenlet对象 g.add(greenlet) -> None 说明: 向组中添加一个greenlet对象 g.discard(greenlet) -> None 说明: 从组中删除一个greenlet对象 g.join(timeout=…
1.Event类,事件主要用于Greenlet之间的异步通信 e = gevent.event.Event() -> Event 说明: 创建一个信号对象 e.set() -> None 说明: 设置标志位 e.clear() -> None 说明: 清除标志位 e.wait() -> None 说明: 阻塞直至标志位被设置   扩展: a = gevent.event.AsyncResult() -> AsyncResult 说明: 创建一个扩展可携带数据的信号对象 a.s…
math模块 提供基础的数学函数, cos(3.14) = -0.999..(弧度制) acos(1) = 0.0 sqrt(9) = 3.0 degrees(3.14) = 179.9999..(弧度转角度) radians(180) = 3.1415926..(角度转弧度) 常量 pi = 3.1415.. e = 2.7182.. cmath模块(complex math, 复数) 支持复数的运算, >>>import cmath >>>cmath.sqrt(-1…
gevent.spawn会对传入的子任务集合进行调度,gevent.joinall 方法会阻塞当前程序,除非所有的greenlet都执行完毕,才会退出程序 公有方法 gevent.spawn(cls, *args, **kwargs) 创建一个Greenlet对象,其实调用的是Greenlet.spawn(需要from gevent import Greenlet),返回greenlet对象 gevent.joinall(greenlets, timeout=None, raise_error=…
2. Queue类,常用用于Greenlet之间的异步共享 q = gevent.queue.Queue(maxsize=None, items=None) -> Queue 说明: 创建一个指定大小包含指定items的队列对象 q.empty() -> Boolean 说明: 队列是否为空 q.full() -> Boolean 说明: 队列是否已满,如果初始化时maxsize为None时队列永远不会满,除非内存耗尽 q.get(block=True, timeout=None) -&…
logging模块 简单应用 import logging  logging.debug('debug message')  logging.info('info message')  logging.warning('warning message')  logging.error('error message')  logging.critical('critical message')   输出:WARNING:root:warning messageERROR:root:error me…
连接选项 当在创建数据连接的时候 第一种大多数人用的方法 let mysql = require('mysql'); let connection = mysql.createConnection({ host: "localhost", post: 3306, user: "user", password: "pass" }); 第二种用url创建的方法 感觉比较奇怪 let connection = mysql.createConnectio…
build_opener()详解: 1.urllib2.urlopen()函数不支持验证.cookie或者其它HTTP高级功能,要支持这些功能,必须使用build_opener()函数创建自定这句话的Opener对象. 代码如下: build_Opener([handler1[handle2,...]]) 参数handler是Handler实例,常用的有HTTPBasicAuthHandler.HTTPCookieProcessor.ProxyHandler等. build_opener ()返…
一.协程介绍 协程:是单线程下的并发,又称微线程,纤程.英文名Coroutine.一句话说明什么是协程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的. 对比操作系统控制线程的切换,用户在单线程内控制协程的切换. 协程自己本身无法实现并发(甚至性能会降低).协程+IO切换性能提高. 优点如下: 协程的切换开销更小,属于程序级别的切换,操作系统完全感知不到,因而更加轻量级 单线程内就可以实现并发的效果,最大限度地利用cpu 缺点如下: 协程的本质是单线程下,无法利用多核,可以是一个…
常用模块(三) 七.logging模块 日志中包含的信息应有正常的程序访问日志,还可能有错误.警告等信息输出 python的 logging 模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging 的日志可以分为 debug() , info() , warning() , error() , critical() 5个级别 Eg.简单的日志记录 import logging logging.debug('debug message') logging.info('info m…