c - 我是否需要互斥锁来保护可以通过 sysfs 获取/设置的 int 值?

标签 c linux kernel locking driver

多个用户空间进程可以同时访问这个值,所以我想我们应该使用一些锁或内存屏障来保证安全,但我可以在 linux 驱动程序中找到很多没有的代码,或者只是保护写入案件。 我们真的需要一个用于读取和写入的互斥量吗?

最佳答案

代码执行取决于CPU和系统。实际上,如果操作是原子,则无需同步技术也可以做到这一点。只要您对此不确定,最好使用同步对象。对于 int/dword 值,大多数时候人们在没有 sych 对象的情况下这样做。

阅读这篇文章 http://preshing.com/20130618/atomic-vs-non-atomic-operations/

还有同样的问题Are C++ Reads and Writes of an int Atomic?

关于c - 我是否需要互斥锁来保护可以通过 sysfs 获取/设置的 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46340762/

相关文章:

c - 访问C中的外部分配空间

php - 让 Ubuntu 确认安装了自定义版本的 PHP

c - 在运行时从父终端临时禁用子进程

android - Android 中主机卡仿真的编辑功能

c - 在 C 中声明 64 位变量

python - 如何将 C 中的 double 组转换为 python 列表?

php - 如何检查在 php 中完成的 bash shell

linux - 为什么在Linux内核中close函数在 `struct file_operations`调用release?

linux - 如何在 Spike (riscv) 中指定内核参数?

c - 如何发射激光?