协程 首先要明确,线程和进程都是系统帮咱们开辟的,不管是thread还是process他内部都是调用的系统的API,而对于协程来说它和系统毫无关系; 协程不同于线程的是,线程是抢占式的调度,而协程是协同式的调度,也就是说,协程需要自己做调度。 他就和程序员有关系,对于线程和进程来说,调度是由CPU来 ...
分类:
编程语言 时间:
2016-10-13 19:03:52
阅读次数:
169
gevent是一个基于协程的python网络库. 特性: 1.基于libev的事件循环 2.基于greenlet 轻量级的执行单元 (what is greenlet ?) 3.来自python标准库的重用API (don't know what's this mean) 4.能够使用 阻塞sock ...
分类:
其他好文 时间:
2016-10-13 01:32:06
阅读次数:
271
上节的问题:
协程:遇到IO操作就切换。
但什么时候切回去呢?怎么确定IO操作完了?一、事件驱动模型介绍通常,我们写服务器处理模型的程序时,有以下几种模型:
(1)每收到一个请求,创建一个新...
分类:
编程语言 时间:
2016-10-12 11:45:22
阅读次数:
310
来,贴上一段代码让你仰慕一下欧socketserver的魅力,看欧怎么完美实现多并发的魅力 client server 代码执行看源码 我们看到最后两句代码,第一句--带有括号,我们第一想到的是要么是个函数,要是是个类,那么看一下什么吧 是个类,继承了ThreadingMixIn和TCPServer ...
分类:
其他好文 时间:
2016-10-09 23:13:01
阅读次数:
250
协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特 ...
分类:
数据库 时间:
2016-10-09 07:00:06
阅读次数:
277
多进程、协程、事件驱动及select poll epoll 目录 -多线程使用场景 -多进程 --简单的一个多进程例子 --进程间数据的交互实现方法 通过Queues和Pipe可以实现进程间数据的传递,但是不能实现数据的共享 Queues Pipe 通过Manager可以不同进程间实现数据的共享 - ...
分类:
系统相关 时间:
2016-10-08 02:03:22
阅读次数:
243
目录 -多线程使用场景 -多进程 --简单的一个多进程例子 --进程间数据的交互实现方法 通过Queues和Pipe可以实现进程间数据的传递,但是不能实现数据的共享 Queues Pipe 通过Manager可以不同进程间实现数据的共享 --进程同步,即进程锁 --进程池 -协程 --先用yield ...
分类:
系统相关 时间:
2016-10-05 17:24:29
阅读次数:
290
前面四篇已经涵盖了skynet的c层核心,剩下的timer,socket模块本身和actor模型没什么关系,且比较独立,最后再看吧。光用skynet的c接口,是很难在这上面写业务逻辑的,所以要找一种更爽快的方式来使用。官方推荐的是lua,利用lua的协程对skynet的消息分发做了封装,使得acto ...
分类:
Web程序 时间:
2016-09-26 21:35:21
阅读次数:
551
线程 python 的 threading 模块提供了线程的相关操作,线程是应用程序中工作的最小单元。 通过 threading 模块实现多线程,本身需要至少 10s 的程序会很快执行完成 创建多线程的两种方法 线程锁(Lock,RLock) threading 的 Lock 和 RLock 方法提 ...
分类:
编程语言 时间:
2016-09-26 17:47:33
阅读次数:
285