一 gevent模块 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程。 Greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。 遇到IO阻塞时会自动 ...
分类:
其他好文 时间:
2018-12-19 22:07:31
阅读次数:
224
协程就是一个线程,只是说再一个线程上来回切换。 协程切换任务是靠代码,遇到IO 操作就切换,而线程和进程是靠操作系统自动切换 1.greenlet 2.gevent 只有协程遇到能识别的IO操作才切换(from gevent import monkey;monkey.patch_all()) gre ...
分类:
编程语言 时间:
2018-12-19 00:30:53
阅读次数:
182
一 Process类 multiprocessing模块下的一个类 创建子进程。 有两种方法 方法一 输出: 方法二 输出: 二 Thread类 threading模块下的类 创建线程 有两种方法 与Process类一样。 三 Pool类 Pool类的方法: p=Pool() p.apply_asy ...
分类:
其他好文 时间:
2018-12-18 19:38:28
阅读次数:
177
一 并发的本质 1 切换 2 保存状态 二 协程的概念 协程,又称微线程,纤程。英文名Coroutine。单线程下实现并发,用户从应用程序级别控制单线程下任务的切换,注意一定是遇到I/O才切。 协程的特点在于是一个线程执行,那和多线程比,协程有何优势? 最大的优势就是协程极高的执行效率。因为子程序切 ...
分类:
编程语言 时间:
2018-12-18 19:32:56
阅读次数:
157
Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成 ...
分类:
其他好文 时间:
2018-12-18 19:30:18
阅读次数:
208
后门程序 使用telnet链接后门,可以使用里面的python编译器查看程序运行情况 http://www.gevent.org/api/gevent.backdoor.html ...
分类:
编程语言 时间:
2018-12-18 10:55:04
阅读次数:
292
from gevent import monkey;monkey.patch_all() import time import gevent def eat(): print("eating start") time.sleep(2) print("eating end") def play(): ... ...
分类:
其他好文 时间:
2018-12-17 02:34:06
阅读次数:
199
引言 Lifecycle 是官方提供的架构组件之一,目前已经是稳定版本,Lifecycle 组件包括LifecycleOwner、LifecycleObserver。Lifecycle 组件是执行操作以响应另一个组件(Activity或者Fragment)的生命周期状态的更改。 Lifecycle ...
分类:
移动开发 时间:
2018-12-15 22:01:51
阅读次数:
203
概念: 协程: (简单来说就是单线程下的并发). 指的是只在同一条线程上能够相互切换多个任务, 遇到IO就切换实际上是我们利用协程提高工作效率的一种工作方式. 特点: (纤程,轻型线程) 协程是操作系统级别的操作单位 协程的切换开销更小,属于程序级的切换,对于操作系统来说是不可见的,不需要操作系统调 ...
分类:
其他好文 时间:
2018-12-13 22:14:34
阅读次数:
189
疗程1: 语言基础 数据类型 流程控制 常用模块 函数、迭代器、装饰器 递归、迭代、反射 面向对象编程 购物车程序 ATM信用卡程序开发 计算器程序开发 模拟人生游戏开发 疗程2 网络编程 Socket c/s编程、Twisted异步网络框架、网络爬虫开发 多线程、多进程、协程gevent、sele ...
分类:
编程语言 时间:
2018-12-12 20:38:11
阅读次数:
202