使用协程做计时功能应注意

1.协程中用到的组件,变量等被置空前,应该将协程置空

2.置空协程之前应停止协程

3.为了确保同一个协程同时只运行一次,可在协程开始前添加安全代码:判断改协程是否存在,存在则停止协程并将协程置空

实现方法:

local function setMyTime()
--注意(3)
if this.countdown then
coroutine.stop(this.countdown)
this.countdown = nil
end
this.countdown = coroutine.start(function()
while true do
this.tm=this.tm-1--用到的变量
coroutine.wait(1)
end
end)
end
注意(2)
if this.countdown then
coroutine.stop(this.countdown)
--注意(1)
this.countdown = nil
end
--假设此时需要对this.tm置空
this.tm=nil

最新文章

  1. Windows下ADT环境搭建
  2. Linux终端最常用快捷键
  3. c++ 的 坑真多之头文件
  4. BZOJ 2342 双倍回文(manacher算法)
  5. CSS3展现精彩的动画效果 css3的动画属性
  6. Oracle数据库插入图片和读取图片
  7. 学习笔记_Java_day12_Cookie
  8. STL之map、multimap
  9. LinkButton( 按钮)
  10. git-svn 的使用
  11. 怎么提高ArcGIS for Desktop10.x的性能
  12. ASP.NET 成员资格 Part.2(使用安全控件 Login)
  13. 老李推荐:第6章8节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-小结
  14. 关于蓝桥杯嵌入式STM32的一点收获
  15. ListView实现下拉刷新和上拉加载功能
  16. 使用Intellij搭建Servlet开发环境
  17. js 标准对象
  18. Spring Data Redis —— 快速入门
  19. java Map集合学习
  20. 动态规划-House Robber

热门文章

  1. docker 之网络配置
  2. css 颜色混合模式 mix-blend-mode
  3. 云开发 :云原生(Cloud Native)
  4. LeetCode 50. Pow(x, n) 12
  5. [.Net] 一句话Linq(递归查询)
  6. [.Net] - 生成短 Guid 标识符的方法
  7. Java 非访问修饰符
  8. IDEA创建web项目详细过程
  9. C之多维指针讲解
  10. 字典的学习3——嵌套——Python编程从入门到实践