我正在寻找一种在C程序中锁定变量的方法。事实上,这个变量是由一个线程在循环中设置的,但另一方面,我的主循环中有一个无限循环,它正在读取这个变量。
有什么事要做吗?
发布于 2014-05-22 16:19:18
考虑一个互斥:
volatile int var=0;
pthread_mutex_t mtx=PTHREAD_MUTEX_INITIALIZER;要读取变量:
pthread_mutex_lock(&mtx);
local_var=var;
pthread_mutex_unlock(&mtx);要设置变量,请执行以下操作:
pthread_mutex_lock(&mtx);
var=19;
pthread_mutex_unlock(&mtx);如果您正在编写一个线程化的应用程序,那么这就是所需要的--您有一个p线程标记。
https://stackoverflow.com/questions/23812146
复制相似问题