社区
C语言
帖子详情
如何写出原子操作的语句?
yangss2006
2008-05-04 07:59:57
请教原子操作就是没有办法中断的操作的吧!那么一个C语句往往会分解成若干条汇编语句,而且在这些语句中,没有什么措施可以保证不被中断吧?
请教了,*p = 123;这么一条赋值语句能写成原子操作的形式吗?
...全文
107
2
打赏
收藏
如何写出原子操作的语句?
请教原子操作就是没有办法中断的操作的吧!那么一个C语句往往会分解成若干条汇编语句,而且在这些语句中,没有什么措施可以保证不被中断吧? 请教了,*p = 123;这么一条赋值语句能写成原子操作的形式吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
c265n46
2011-04-12
打赏
举报
回复
不知道这个老帖子现在还能不能回。不过我最近看了PTypes的源码,
它里面有这样的一个文件"patomic.cxx"
里面是这样实现一个值交换的原子操作的
int __fastcall pexchange(int* target, int value)
{
int r = *target;
*target = value;
return r;
}
__fastcall 使用寄存器传参,在线程切换时会保存现场。因此多线程也不会影响。
mymtom
2008-05-04
打赏
举报
回复
应用程序通常不需要这种层次的操作. 如果有需要, 通常是在多线程和多进程的情况下,可以使用信号量解决.
操作系统的层次上,需要硬件指令的支持(如SWAP), 在必要的情况下用开关中断的指令实现(CLI, STI)原子操作.
对int变量赋值的操作是原子的吗?为什么?
原问题:什么指令集支持
原子操作
?其原理是什么?如果考虑到全部的指令集,问题太大了,这里简化下。以X86和ARM为例。
原子操作
是不可分割的操作,在执行完毕时它不会被任何事件中断。在单处理器系统(UniProce...
mysql 原子写_在MySQL上加入insert / update是一个
原子操作
吗?
@H_502_1@在一个MysqL数据库中,每个基于InnoDB的表都启用了自动提交,子查询和/或连接的查询是原子的吗?@H_502_1@例子:@H_502_1@> INSERT INTO用户SELECT(x,y,z)FROM users,comments WHERE users.id = comments....
python原子性_Python的原子性操作是如何实现的
翻阅 Python文档 可以得知,Python中某些操作如 list.append(item) 是原子性操作,在多个线程对一个列表执行添加是线程安全的。大致翻译如下什么样的全局值突变是线程安全的?全局解释器锁(GIL)在内部使用,以确保...
面试官:Redis的事务满足原子性吗?
谈起数据库的事务来,估计很多同学的第一反应都是ACID,而排在ACID中首位的A原子性,要求一个事务中的所有操作,要么全部完成,要么全部不完成。熟悉redis的同学肯定知道,在redis中...
Redis执行lua脚本能保证原子性吗?
Redis执行lua脚本能保证原子性吗?
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章