c语言 条件变量 示例代码
时间: 2023-12-05 07:33:40 浏览: 37
当然,我可以为您提供一个 C 语言条件变量的示例代码。以下是一个简单的示例:
#include <pthread.h>
#include <stdio.h>
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
int variable = 0;
void *threadFunction(void *arg)
{
pthread_mutex_lock(&mutex);
while (variable == 0)
{
pthread_cond_wait(&cond, &mutex);
}
printf("Variable is now: %d\n", variable);
pthread_mutex_unlock(&mutex);
return NULL;
}
int main(void)
{
pthread_t thread;
pthread_create(&thread, NULL, threadFunction, NULL);
pthread_mutex_lock(&mutex);
variable = 42;
pthread_cond_signal(&cond);
pthread_mutex_unlock(&mutex);
pthread_join(thread, NULL);
return 0;
}
此代码演示了一个线程等待另一个线程发送信号,并在收到信号后打印变量的值。
希望这可以帮助您了解条件变量的使用方法。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)