#例1. 简单输出斐波那契數列前 N 个数#缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列#要提高 fab 函数的可复用性,最好不要直接打印出数列,而是返回一个 List。def fab1(max): n, a, b = 0, 0, 1 while n ...
分类:
编程语言 时间:
2017-05-11 11:39:59
阅读次数:
187
在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行。其执行顺序如下: 编辑器(Editor) Reset:Reset函数被调用来初始化脚本属性当脚本第一次被附到对象上,并且在Reset命令被使用时也会调用。编者注:Reset是在用户点击Inspector面板上R ...
分类:
编程语言 时间:
2017-05-11 10:22:30
阅读次数:
148
协程复用根函数 local function routine(fun, args) while (fun) do fun, args = coroutine.yield(fun(table.unpack(args))); end end demo 1 : 使用一个协程,用来调用不同的參数和不同的函数 ...
分类:
其他好文 时间:
2017-05-06 10:14:18
阅读次数:
162
lua_State 中放的是 lua 虚拟机中的环境表、注册表、运行堆栈、虚拟机的上下文等数据。 从一个主线程(特指 lua 虚拟机中的线程,即 coroutine)中创建出来的新的 lua_State 会共享大部分数据,但会拥有一个独立的运行堆栈。所以一个线程对象拥有一个lua_State。 (p ...
分类:
编程语言 时间:
2017-05-05 12:54:35
阅读次数:
1732
一、coroutine.create创建协程 參数是协程的主函数,返回一个thread对象 co = coroutine.create(function() print("coroutine execute!") end) 二、协程状态 协程有三种状态:挂起(suspended)、执行(runnin ...
分类:
其他好文 时间:
2017-04-11 09:39:25
阅读次数:
122
本文参考:http://www.dabeaz.com/coroutines/ 作者:David Beazley 缘起: 本人最近在学习python的协程。偶然发现了David Beazley的coroutine课程,花了几天时间读完后,为了加深理解就把其中个人认为最为精华的部分摘下来并加上个人理解写 ...
分类:
编程语言 时间:
2017-03-11 21:47:16
阅读次数:
270
背景 通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的进度。在 ...
分类:
编程语言 时间:
2017-03-09 22:32:44
阅读次数:
604
协程,又称微线程,纤程。英文名Coroutine。协程是一种用户态的轻量级线程。所谓用户态就是说协程是由用户来控制的,CPU不认识协程,协程是跑在线程中的。协程拥有自己的寄存器上下文栈。协程调试切换时,将寄存器上下文栈保存到其他地方,在切回来时,恢复先前保存的寄存器上..
分类:
编程语言 时间:
2017-02-06 18:27:55
阅读次数:
202
自己实现协程有几个好处: Unity中,Coroutine是在LateUpdate执行的,每一个update都会执行一部分代码,拿IEnumerator来说,就是每一次都会MoveNext一下。 IEnumerator有三个接口: Current:返回一个object,可以设置当前的一个状态。 Mo ...
分类:
编程语言 时间:
2017-02-05 19:21:13
阅读次数:
958
协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特 ...
分类:
编程语言 时间:
2017-01-27 00:17:33
阅读次数:
278