我对C中的多个进程/线程编程完全不熟悉,我知道如果一个进程需要修改共享变量,那么在执行此操作之前需要锁定。
如果一个进程需要读取共享变量,是否需要锁定?
答案 0 :(得分:1)
如果该变量可以被另一个线程或进程更改,那么是。如果你有很多读取进程/线程,你可以考虑实现一个允许许多读者一次访问的读写锁。
根据您的具体操作,您可能还需要查看原子,因为它们不需要使用锁。
https://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Atomic-Builtins.html
答案 1 :(得分:0)