Eventlet是一个用来处理和网络相关的python网络库,而且可以通过协程来实现并发,在eventlet里,把“协程”叫做greenthread。所谓并发,就是开启了多个greenthread,并且对这些greenthread进行管理,以实现非阻塞式的I/O。关于协程,大致可以理解成允许子程序可...
分类:
其他好文 时间:
2015-07-20 12:20:02
阅读次数:
130
python下的协程: 1 #encoding=utf-8 2 """ 3 协程----微小的进程 4 yield生成器-----生成一个可迭代对象比如list, tuple,dir 5 1、包含yield的函数,则是一个可迭代对象(list, tuple等) 6 每次运行到yield即结束,并保留...
分类:
编程语言 时间:
2015-07-20 01:16:26
阅读次数:
146
对于客户端来说,好的用户体验,需要保持一个快速响应的用户界面。于是便要求:网络请求、io操作等 开销比较大的操作必须在后台线程进行,从而避免主线程的ui卡顿。(注:协程也是主线程的一部分,进行大量的io操作也会造成UI卡顿)在 WPF 中,DispatcherObject只能通过与它关联的Dispa...
分类:
编程语言 时间:
2015-07-13 23:46:23
阅读次数:
707
—–协程复用根函数local function routine(fun, args)
while (fun) do
fun, args = coroutine.yield(fun(table.unpack(args)));
end
end—–demo 1 : 使用一个协程,用来调用不同的参数和不同的函数local Sum = function(…)...
分类:
其他好文 时间:
2015-07-10 19:12:58
阅读次数:
120
dawn的协程库,使用的是kilim,不过已经远非kilim的原有代码,主要保留了协程的两个基本原语,再往上层,已经全部被替换了。
协程库,我学习过boost asio中的协程,也在我的机器上测试过单纯上下文切换的速度。这个速度在不同的机器之间没有可比性,因为彼此的cpu可能不同。但是在同一台机器上的不同库的对比,具有一定的参照性。
我记得,当时asio协程单线程情况下,协程切...
分类:
其他好文 时间:
2015-07-03 22:05:51
阅读次数:
240
通俗易懂的回答:让原来要使用异步+回调方式写的非人类代码,可以用看似同步的方式写出来...补充一个好处:可以按串行模型去组织原本分散在不同上下文中的代码逻辑,避免状态同步问题。**************************************************************...
分类:
其他好文 时间:
2015-07-01 11:30:59
阅读次数:
122
Go语言编程
目录
[隐藏]
1 前言2 初识Go语言3 顺序编程4 OOP5 并发编程6 网络编程7 安全编程8 工程管理9 开发工具10 进阶话题11 附录A
[编辑]前言
协程? go run('test')Go强制了{ }的编写风格: if expression {错误处理:
defer?相当于...
分类:
编程语言 时间:
2015-06-27 16:46:30
阅读次数:
398
为什么dawn需要特殊的开发配置?
dawn使用的是kilim协程,在编码结束后需要进行代码织入。试想,如果每次写完程序,运行代码之前都手工运行一次织入程序,是多么蛋疼的一件事情。更糟糕的是,如果你没掌握织入的技巧,可能就失去了在eclipse调试java代码的机会,开发效率会大大降低。所以,我们可以编写一段ant脚本,让eclipse帮我们自动完成织入。
步骤
我们就拿dawn这个项目做为...
分类:
其他好文 时间:
2015-06-27 07:32:10
阅读次数:
206
1.dawn是单线程的:
为什么单线程?现实中很多程序都是单线程的,比如redis,memcache,nodejs,mmorpg服务器。。。。。。采用单线程有两大好处,首先,不需要使用锁,逻辑更容易理解,不易出错,其次,减少了切换线程时的调度成本。
2.什么是Task
dawn中使用了Task,这其实是kilim中的协程,协程最基本的功能是挂起和恢复,这点和线程是一致的。所有的Tas...
分类:
其他好文 时间:
2015-06-26 09:16:37
阅读次数:
119
python中实现并发的方式有很多种,通过多进程并发可以真正利用多核资源,而多线程并发则实现了进程内资源的共享,然而Python中由于GIL的存在,多线程是没有办法真正实现多核资源的。对于计算密集型程序,应该使用多进程并发充分利用多核资源,而在IO密集型程序中,多核优势并不明显,甚至由于大多数时间都...
分类:
编程语言 时间:
2015-06-23 23:07:28
阅读次数:
260