共享数据结构的互斥问题
最近看嵌入式操作系统的书,书上说,使用共享数据结构时,需要保证其互斥性;方法有关中断、利用信号量、禁制切换,使用测试并置位指令;
共享数据结构时,中断操作有可能对共享数据进行改写,所以要关中断;但别的任务也有可能使用该共享数据结构,造成改写,所以感觉仅仅单凭关中断是不能保证共享数据结构的互斥的;同样,单凭信号量也是不能保证共享数据结构的互斥的;这样理解对吗?
[解决办法]
以前学习学习操作系统时这个只学到了 互斥锁 和 信号量。
信号量是让这个数据只能被几个人访问,但一般不是一个人,所以这样就不能保证了,个人理解是这样。