diff options
Diffstat (limited to 'tests/modules/thread/coroutine.lua')
| -rw-r--r-- | tests/modules/thread/coroutine.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/modules/thread/coroutine.lua b/tests/modules/thread/coroutine.lua new file mode 100644 index 000000000..28aa8971e --- /dev/null +++ b/tests/modules/thread/coroutine.lua @@ -0,0 +1,32 @@ +import("core.base.thread") +import("core.base.scheduler") + +function thread_loop() + import("core.base.thread") + print("%s: starting ..", thread.running()) + local dt = os.mclock() + for i = 1, 10 do + print("%s: %d", thread.running(), i) + os.sleep(1000) + end + dt = os.mclock() - dt + print("%s: end, dt: %d ms", thread.running(), dt) +end + +function coroutine_loop() + print("%s: starting ..", scheduler.co_running()) + local dt = os.mclock() + for i = 1, 10 do + print("%s: %d", scheduler.co_running(), i) + os.sleep(1000) + end + dt = os.mclock() - dt + print("%s: end, dt: %d ms", scheduler.co_running(), dt) +end + +function main() + scheduler.co_start_named("coroutine", coroutine_loop) + local t = thread.start_named("thread", thread_loop) + t:wait(-1) +end + |
