繁体   English   中英

互斥锁锁定变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM