--[[协同程序的四种状态挂起(suspended)、运行(running)、死亡(dead)和正常(normal)status yield --挂起程序coroutine.create(function(a, b, c) --coroutine.resume(co, 1, 2, 3) 分别把1,....
分类:
其他好文 时间:
2015-01-22 19:54:41
阅读次数:
165
Invoke和InvokeRepeating方法,可以实现延迟调用,和周期调用第一个是执行一次,第二个是重复执行void Invoke(string methodName, float time);第一个参数是方法名(注意是字符串形式),并不是更方便的委托。第二个是延时多少秒。只执行一次。void ...
分类:
编程语言 时间:
2015-01-19 23:28:06
阅读次数:
319
在tornado3发布之后,强化了coroutine的概念,在异步编程中,替代了原来的gen.engine, 变成现在的gen.coroutine。这个装饰器本来就是为了简化在tornado中的异步编程。避免写回调函数, 使得开发起来更加符合正常逻辑思维。一个简单的例子如下:class MaindH...
分类:
其他好文 时间:
2015-01-15 17:58:51
阅读次数:
210
由于协程的优点,所以协程库如今有好多libtask,boost::coroutine,libco......libtask非常不错,以后也许会用。boost我个人基本非常少用。腾讯的libco自己用汇编实现了swapcontext函数,不明觉厉(libtask也有ASM)。并且把epoll整合在了里...
分类:
其他好文 时间:
2015-01-07 14:37:17
阅读次数:
268
纤程(Fiber)和协程(coroutine)是差不多的概念,也叫做用户级线程或者轻线程之类的。Windows系统提供了一组API用户创建和使用纤程,本文中的库就是基于这组API实现的。纤程的概念中有两个关键点:
纤程拥有独立的栈空间和寄存器环境;
纤程在用户态实现调调度,也就是说完全由程序员控...
分类:
编程语言 时间:
2014-12-21 22:01:08
阅读次数:
269
纯粹转载:转载注明参考链接!参考链接:http://xataxnova.blog.163.com/blog/static/236620063201451061738122/,作者:网易博客xataxnova示例代码:(将该脚本绑在一个Lable对象上,即可测试,显示为从1跳到10)using Uni...
分类:
编程语言 时间:
2014-12-18 16:35:22
阅读次数:
3688
错误处理 assert(exp) error("error message text") pcall安全调用协同程序 lua没有真正的多线程,都是使用协同程序也实现的多线程 lua是非对称式协同程序(semi-coroutine),它提供两个函数来处理执行权 任一时刻只能有一个协同程序在执行 只能自...
分类:
其他好文 时间:
2014-12-17 15:54:05
阅读次数:
169
本来想写写进程、线程、轻量级线程、goroutine还有协程(coroutine),为什么我把goroutine单独列出来是因为它不是协程,所有翻译成协程的都是偷用概念,把比线程轻量的都叫做协程。算了,先不纠结这个,今天想写写DynamoDB,记录下经历。
就如官网描述到的,无限扩展,好吧,具体实现也不得而知,但这个无限扩展的前提是诸多限制。在确认DynamoDB是否适口你的项目...
分类:
数据库 时间:
2014-12-03 01:47:39
阅读次数:
373
今天咱就说说,协同程序coroutine。(这文章是在网吧敲的,没有unity,但是所有结论都被跑过,不管你信得过我还是信不过我,都要自己跑一下看看,同时欢迎纠错)先说说啥是协程:协同程序是一个非常让人作呕的东西,它的表现形式非常像线程,对线程有过接触的朋友可能更理解我这句话的意思,你没接触过线程,...
分类:
编程语言 时间:
2014-11-25 16:14:18
阅读次数:
195
协程和一般多线程的区别是,一般多线程由系统决定该哪个线程执行,是抢占式的,而协程是由每个线程自己决定自己什么时候不执行,并把执行权主动交给下一个线程。 协程是用户空间线程,操作系统其存在一无所知,所以需要用户自己去做调度,用来执行协作式多任务非常合适。
分类:
其他好文 时间:
2014-11-24 20:49:53
阅读次数:
297