裸机程序存在多线程问题吗?

2019-10-15 07:25发布

     最近做的项目遇到一些很难复现很难处理的偶发bug,然后在讨论的时候同事提出来可能是出现了多线程问题。
但是我觉得裸机程序(while(1)跑状态机),不可能出现同一时间争抢统一资源的多线程问题吧。想测底搞清楚,
希望大神出来说道说道。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
东北小辉辉
1楼-- · 2019-10-16 06:45
我认为状态机也是有线程的,之前看书里说到,裸机与OS的唯一区别,只是任务调度不同,裸机用的是状态机,手动调度,OS有虚拟堆栈,可以实现自动调度。

至于通讯机制,其实状态机和OS是一样的,OS里面需要注意的,状态机一样需要注意,就像楼主说的共享资源问题,状态机里一样存在,要用类似OS的那种机制来保护(比如互斥信号量)。
sanv
2楼-- · 2019-10-16 10:17
东北小辉辉 发表于 2017-1-13 17:38
我认为状态机也是有线程的,之前看书里说到,裸机与OS的唯一区别,只是任务调度不同,裸机用的是状态机,手 ...

我同事说不同的中断程序(中断和主程序)就是不同程序执行流,他们之间会产生多线程问题。
gelin_ss
3楼-- · 2019-10-16 15:32

如果是windows系统,关于线程的东西很多。

RTOS本质上就是多线程。

使用多线程技术,主要涉及到数据同步问题,这些东西在原子的ucos里面讲的比较清楚。

一周热门 更多>