[英]Mutex lock a variable
我正在寻找一种在C程序中锁定变量的方法。 事实是,此变量是由线程在循环中设置的,但另一方面,我的主循环中有一个无限循环正在读取此变量。
反正有执行此操作吗?
考虑一个互斥锁:
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标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.