# lua_timer **Repository Path**: supermoons/lua_timer ## Basic Information - **Project Name**: lua_timer - **Description**: a cpp implement lua timer - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-10-11 - **Last Updated**: 2022-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lua_timer Pure lua implements timer ,support coroutine(with coroutine pool optimized) # Use **Call timer.update() in your framework's main loop/update** ```lua local os = require ('os') local timer = require ('timer') local function co3() print("coroutine3 start",os.clock()) timer.sleep(5.5) print("coroutine3 5.5 second later",os.clock()) print("coroutine3 end") end --coroutine style timer timer.async(function() print("coroutine1 start",os.time()) timer.sleep(2) print("coroutine1 2 second later",os.time()) timer.async(co3) print("coroutine1 end") end) timer.async(function() print("coroutine2 start",os.time()) timer.sleep(1) print("coroutine2 1 second later",os.time()) timer.sleep(1) print("coroutine2 1 second later ",os.time()) timer.sleep(1) print("coroutine2 1 second later ",os.time()) timer.sleep(1) print("coroutine2 1 second later ",os.time() ) print("coroutine2 end") end) --callback style timer local stime = os.time() timer.timeout(1.5,function() print("timer expired", os.time() - stime) end) --remove a timer local ctx = timer.timeout(5,function() error("this timer shoud not expired") end) timer.remove(ctx) print("main thread noblock") while true do timer.update() end ```