<分区>
我完全不熟悉 C 中的多进程/线程编程,我知道如果一个进程需要修改一个共享变量,它需要在这样做之前锁定。
如果一个进程需要读取共享变量,是否需要加锁?
<分区>
我完全不熟悉 C 中的多进程/线程编程,我知道如果一个进程需要修改一个共享变量,它需要在这样做之前锁定。
如果一个进程需要读取共享变量,是否需要加锁?
最佳答案
如果该变量可以被另一个线程或进程更改,那么可以。如果你有很多读进程/线程,你可以考虑实现一个读写锁,让很多读者同时访问。
根据您的具体操作,您可能还想研究原子,因为它们不需要使用锁。
关于c - 在读取共享变量之前需要锁定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47342552/