RT_thread中多个不同的线程对相同的全局变量读或写,会导致死机吗?谢谢
查看更多
看情况,如果读写都可以是一条汇编语句完成的,完全没有影响。多条汇编完成的也分以下几种情况。如果是一个写,一个读,读的时候是判断固定值,比如 while 等待某个变量被置1。这种情况也可以不加锁。多个写必须加锁,这种可能出现结果并不是两种中的任何一种。一边写,另一边读走并且可能有多种值,变量的值不定可能引起后续业务逻辑不同的,这种情况可能引起后续代码跟预期的不一样。
这个涉及各任务间的同步,可以用临界段的方式来保护,或者用互斥信号量的方式保持同步
这和你的业务逻辑有关,可能会导致业务逻辑错乱进而死机。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
感谢