当前位置: 首页 > news >正文

asp.net 4.0网站建设基础教程 下载跨境电商网站平台

asp.net 4.0网站建设基础教程 下载,跨境电商网站平台,网站地图 制作,网站设计的公司运营接单Lua 协同程序(Coroutine) 定义 Lua 协同程序(Coroutine)与线程类似:拥有独立的堆栈、局部变量、指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。 协同程序可以理解为一种特殊的线程,可以暂停和恢复其执行,从而允…

Lua 协同程序(Coroutine)

定义

Lua 协同程序(Coroutine)与线程类似:拥有独立的堆栈、局部变量、指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。

协同程序可以理解为一种特殊的线程,可以暂停和恢复其执行,从而允许非抢占式的多任务处理。协同是非常强大的功能,但是用起来也很复杂。

线程和协同程序区别

主要区别在于,一个程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。
在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只有在明确的被要求挂起的时候才会被挂起。

线程协程
调度方式操作系统进行抢占式调度非抢占式调度,由程序员控制
并发并发执行,同时运行多个协作运行,同时运行一个
内存占用独立堆栈,开销大共享堆栈、开销小
数据共享共享内存空间通过参数传递
调试难以调试相对简单

使用

协同程序由 coroutine 模块提供支持。

方法描述
coroutine.create()创建 coroutine,返回 coroutine, 参数是一个函数,当和 resume 配合使用的时候就唤醒函数调用
coroutine.resume()重启 coroutine,和 create 配合使用
coroutine.yield()挂起 coroutine,将 coroutine 设置为挂起状态,这个和 resume 配合使用能有很多有用的效果
coroutine.status()查看 coroutine 的状态 注:三种状态:dead,suspended,running,
coroutine.wrap()创建 coroutine,返回一个函数,一旦你调用这个函数,就进入 coroutine,和 create 功能重复
coroutine.running()返回正在跑的 coroutine,一个 coroutine 就是一个线程,当使用running的时候,就是返回一个 coroutine 的线程号

代码示例

function foo()print("协同程序 foo 开始执行")local value = coroutine.yield("暂停 foo 的执行")print("协同程序 foo 恢复执行,传入的值为: " .. tostring(value))print("协同程序 foo 结束执行")
end-- 创建协同程序
local co = coroutine.create(foo)-- 启动协同程序
local status, result = coroutine.resume(co)
print(result) -- 输出: 暂停 foo 的执行-- 恢复协同程序的执行,并传入一个值
status, result = coroutine.resume(co, 42)
print(result) -- 输出: 协同程序 foo 恢复执行,传入的值为: 42

代码输出结果

协同程序 foo 开始执行
暂停 foo 的执行
协同程序 foo 恢复执行,传入的值为: 42
协同程序 foo 结束执行
nil
http://www.yayakq.cn/news/128682/

相关文章:

  • 搜索引擎友好网站表现网站建设费用会计处理
  • 注册域名建设网站厦门安岭路网站建设
  • 电商网站建设教程子页面怎么做
  • 做电影网站需要告诉网络购物网站的功能板块
  • 外贸开发产品网站模板中山网络推广seo专业
  • 网站开发配置表格上海企业注销简易流程
  • 公司网站开发制作公司网上注册公司在哪办
  • 护理学院网站建设西固网页设计
  • 阜阳市建设工程网站手机海外代理ip
  • 如何做好网站内连网络工程有哪些
  • 网站建设流程心得wordpress 律所
  • 2018年做淘宝客网站需要备案嘛深圳市建设交易服务网
  • 手机网站开发+手机模拟器花都网页设计
  • 食品行业做网站六安网站关键词排名优化地址
  • 2016 网站建设需求重庆seo代理
  • 福永网站优化发布培训的免费网站模板下载
  • 汕头建设网站火车头wordpress发布图片
  • 东莞横沥网站制作wordpress主题代码编辑教程
  • 吉林营销网站建设开发网站目录是什么
  • 网站建设与制作报价我国空间站建造
  • 网站开发服务器怎么选缔客网络上海响应式网站建设
  • 什么是网站的二级目录红桥集团网站建设
  • 做网站视频点播难不难专业别墅设计装修
  • 注册域名之后怎么做网站网站做好后
  • w7系统那个网站做的好江西赣州公司
  • 桥东区住房和建设局网站想开网店不知道怎么开
  • 海口网站建设解决方案辽宁丹东建设厅网站
  • 英文网站建设60做关键词优化
  • 呼市浩特网站建设焦作网站建设的公司哪家好
  • 中国十大热门网站wordpress 中文论坛插件