互斥锁定变量

时间:2014-05-22 16:13:12

标签: c pthreads mutex

我正在寻找一种方法来锁定C程序中的变量。事实上,这个变量是由一个线程循环设置的,但另一方面我在我的主体中有一个无限循环,他正在读取这个变量。

无论如何都要执行此操作?

1 个答案:

答案 0 :(得分:1)

考虑互斥:

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);

如果您正在编写线程应用程序,那么这就是您需要的 - 您有一个pthreads标记。