社区
非技术区
帖子详情
共享数据结构的互斥问题
sunday20060101
2012-11-09 03:33:44
最近看嵌入式操作系统的书,书上说,使用共享数据结构时,需要保证其互斥性;方法有关中断、利用信号量、禁制切换,使用测试并置位指令;
共享数据结构时,中断操作有可能对共享数据进行改写,所以要关中断;但别的任务也有可能使用该共享数据结构,造成改写,所以感觉仅仅单凭关中断是不能保证共享数据结构的互斥的;同样,单凭信号量也是不能保证共享数据结构的互斥的;这样理解对吗?
...全文
167
2
打赏
收藏
共享数据结构的互斥问题
最近看嵌入式操作系统的书,书上说,使用共享数据结构时,需要保证其互斥性;方法有关中断、利用信号量、禁制切换,使用测试并置位指令; 共享数据结构时,中断操作有可能对共享数据进行改写,所以要关中断;但别的任务也有可能使用该共享数据结构,造成改写,所以感觉仅仅单凭关中断是不能保证共享数据结构的互斥的;同样,单凭信号量也是不能保证共享数据结构的互斥的;这样理解对吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunday20060101
2012-12-06
打赏
举报
回复
嗯,最近有重新理解了一下,书上说的是对的,应该是我原来的理解有问题。
雲天之巔
2012-12-03
打赏
举报
回复
以前学习学习操作系统时这个只学到了 互斥锁 和 信号量。 信号量是让这个数据只能被几个人访问,但一般不是一个人,所以这样就不能保证了,个人理解是这样。
共享
数据的线程
互斥
<br />在多线程共存的环境下,统一进程间的线程往往会
共享
进程数据,这些数据具有临界资源的特征,即在一个时刻只允许一个线程对其访问,这样的数据要求线程对其进行
互斥
访问。 所谓
互斥
,实质上就是排他...
互斥
量解决多线程数据
共享
问题
在多个线程中
共享
数据时,需要注意线程安全
问题
。如果多个线程同时访问同一个变量,并且其中至少有一个线程对该变量进行了写操作,那么就会出现数据竞争
问题
。数据竞争可能会导致程序崩溃、产生未定义的结果,或者...
【花雕学编程】Arduino RTOS 之
互斥
锁与
共享
数据结构
例如,在一个
共享
的计数器变量中,如果两个任务同时对其进行加 1 操作,可能会导致计数器的值只增加了 1 而不是预期的 2,这就需要合适的同步机制来维护数据的一致性。例如,任务 A 获取了
互斥
锁 1,任务 B 获取了...
C++-多线程数据
共享
问题
和
互斥
锁
线程间
共享
数据的所有
问题
都是因为对数据的修改,一个只读的数据不会造成任何
问题
。 不变式与竞争条件 这里要提到一个概念:不变式(invariant),意思是关于特定
数据结构
的陈述始终正确。例如:“x变量保存着列表...
多进程
共享
内存使用
互斥
锁(包括多线程)
而有时候要修改一些
共享
内存的变量,为了避免冲突(因为多线程多进程情况下 都有可能会同时访问一块数据),那应该怎么做呢?可以看得出来呢,其实就是把
互斥
的操作夹在了sem_wait和sem_post之间。有个项目式多进程...
非技术区
1,075
社区成员
6,260
社区内容
发帖
与我相关
我的任务
非技术区
硬件/嵌入开发 非技术区
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章