计时 get_time(number,boolean)免费

格式 : number = get_time( 编号, 真或假 )
适用场景 : 通用
关联Lua官方函数 : socket()
luasocket(叉叉专用).rar下载文件

  1. local socket = require("bblibs.socket.socket")
  2. get_time = coroutine.wrap(
  3. function (a,b)
  4. local gettime = socket.gettime --叉叉助手可用mTime函数获取时间
  5. local t = {} --[[存放每个计时独立数据]]
  6. local a, b = a, b
  7. while true do
  8. if b then --[[b=true 控制初始化为0]]
  9. t[a] = gettime()
  10. end
  11. a, b = coroutine.yield(gettime()-t[a]) --[[挂起并返回数据,a,b接收参数]]
  12. end
  13. end
  14. )
  15. num = get_time(1,true)
  16. --[[程序代码]]
  17. num = get_time(1,false)
  18. print(num)
  1. --多计时方法:
  2. num = get_time(1,true) --[[编号1true=初始化时间为0]]
  3. print(num) --9.5367431640625e-07 相当于0.00000009
  4. num = get_time(2,true) --[[编号2true=初始化时间为0]]
  5. print(num) --9.5367431640625e-07 相当于0.00000009
  6. socket.sleep(2) --[[延时2秒]]
  7. num = get_time(2,false) --[[false=当前时间减去编号2相差时间]]
  8. print(num) --2.001030921936 2
  9. socket.sleep(1) --[[延时1秒]]
  10. num = get_time(1,false) --[[false=当前时间减去编号1相差时间]]
  11. print(num) --3.0036849975586 3

协程运行原理:
协程函数:get_time - 图1

协程函数:get_time - 图2