创建的两个任务: 一个是my_thread1,优先级为1,打印my_thread1_entry,延时150ms。 一个是my_thread2,优先级为2,打印my_thread2_entry,延时200ms。出现的问题: my_thread2一开始可以被调度,后面就只有空闲任务和my_thread1在调度了,my_thread2好像是延时有问题,没有被insert到就绪列表中,my_thread2->stat = 2。
查看更多
感觉像是栈溢出了,栈加些看看。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
我将两个任务栈设置成2048,还是一样的现象。当我不打开调度器调试,my_thread2能坚持更久一点。
应该是延迟更久的任务不能被insert到就绪列表。因为我把my_thread1设置的延迟比my_thread2更多,反而my_thread1不能被insert到就绪列表,如果将两个任务的延时设置成相同,则两个任务就能正常切换了。