十二月的肖邦 发表于 2018-6-12 16:47:54

资源共享的疑惑

请问硬汉:

裸机编程中,我们常常使用全局变量,OS里的队列等本质上也是全局变量,但为何OS中的Msg就可以不用考虑多线程同时访问的问题。

eric2013 发表于 2018-6-13 01:34:34

都做了多线程保护了。

myxiaonia 发表于 2018-8-10 14:27:25

本帖最后由 myxiaonia 于 2018-8-10 14:29 编辑

os的msg不能保证msg指向的内容就可以多线程访问,它只能保证消息投递是安全的,因为msg只是一个指针而已。如果你合理规划全局变量的修改和读,不用消息照样全局访问,没规划好用消息也是白搭
你要真想多线程安全访问,只能发送的地方分配块内存复制一遍,接收方用完再释放
页: [1]
查看完整版本: 资源共享的疑惑