** linux unix 下是否每个函数对多进程和多线程是“原子操作"? **

ioioio 2005-09-16 05:54:16
看《unix 环境高级编程》p45 关于 "原子操作"有下面的话:

"任何一个要求多于1个函数调用的操作都不能成为原子操作,因为在两个函数调用之间,内核有可能会临时挂起该进程(正如我们前面所假定的)。"

难道linux unix 下每个函数对多进程和多线程可以自动同步?
...全文
219 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hundlom 2005-09-25
  • 打赏
  • 举报
回复
“inux unix 下每个函数都是原子”不全是
ioioio 2005-09-17
  • 打赏
  • 举报
回复
好,不说同步,是否linux unix 下每个函数都是原子的?这个“原子”到底什么意思?与多线程(进程)有什么关系?
darkstar21cn 2005-09-17
  • 打赏
  • 举报
回复
内核态函数是原子的,我们一般用都绝大部分都是用户态的。
hundlom 2005-09-17
  • 打赏
  • 举报
回复
同步一般是自己的设计思想,函数是已经设计好的,怎么会考虑到你现在的需求呢?
ioioio 2005-09-16
  • 打赏
  • 举报
回复
但函数在变成机器码序列后,被多个线程(进程)同时调用时,某个线程(进程)完全是可能在函数机器码执行的任何地方被切换,不知道这里说的“原子操作”是什么意思?
ioioio 2005-09-16
  • 打赏
  • 举报
回复
还是不太明白,我认为某个函数如果能原子操作那就一定可以线程(进程)同步,书上的例子也是讲多进程写一个文件的问题。
hundlom 2005-09-16
  • 打赏
  • 举报
回复
有一部分可再入函数,可以中断。
hundlom 2005-09-16
  • 打赏
  • 举报
回复
函数不对多进程和多线程可以自动同步
不一定是原子操作,
ioioio 2005-09-16
  • 打赏
  • 举报
回复
分不清楚,麻烦讲一下:

原子操作:

线程安全:
daemeon 2005-09-16
  • 打赏
  • 举报
回复
分得清原子操作和线程安全吗?

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧