scheduling.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --[[
  2. @module scheduling
  3. @summary task调度演示
  4. @version 1.0
  5. @date 2025.08.12
  6. @author 朱天华
  7. @usage
  8. 本文件为task_scheduling应用功能模块,用来演示task调度,核心业务逻辑为:
  9. 1、创建两个task,task1和task2;
  10. 2、在task1的任务处理函数中,每隔500毫秒,task1的计数器加1,并且通过日志打印task1计数器的值;
  11. 3、在task2的任务处理函数中,每隔300毫秒,task2的计数器加1,并且通过日志打印task2计数器的值;
  12. 本文件没有对外接口,直接在main.lua中require "task_scheduling"就可以加载运行;
  13. ]]
  14. -- 第一个task的任务处理函数
  15. local function task1_func()
  16. local count = 0
  17. while true do
  18. count = count + 1
  19. log.info("task1_func", "运行中,计数:", count)
  20. -- 等待500ms
  21. sys.wait(500)
  22. end
  23. end
  24. -- 第二个task的任务处理函数
  25. local function task2_func()
  26. local count = 0
  27. while true do
  28. count = count + 1
  29. log.info("task2_func", "运行中,计数:", count)
  30. -- 等待300ms
  31. sys.wait(300)
  32. end
  33. end
  34. -- 创建并启动第一个task
  35. -- 运行这个task的任务处理函数task1_func
  36. sys.taskInit(task1_func)
  37. log.info("task_scheduling", "after task1 and before task2")
  38. -- 创建并启动第二个task
  39. -- 运行这个task的任务处理函数task2_func
  40. sys.taskInit(task2_func)