linux pthread_cond_timedwait() 线程同步

本文介绍了Linux中使用pthread_cond_timedwait()进行线程同步的方法,包括线程的等待与通知,以及需要注意的问题。线程通过该函数等待cond条件变量的signal,超时会返回。当多个线程等待同一条件变量时,pthread_cond_broadcast()可唤醒所有线程。同时,文章提到了线程属性设置和相关参考书籍。
摘要由CSDN通过智能技术生成

1  线程的等待与通知

线程的异步通知机制。一个线程正在等待某件事件的发生(在阻塞),另外一个线程触发一个信号,通知这个线程继续往下运行。请参考如下的程序段,

#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <sys/time.h>

#include <stdio.h>
#include <limits.h>  //PTHREAD_STACK_MIN

/**
 * @brief gettimeofday() 函数封装一下,主要是怕这个函数不是线程安全
 */
pthread_mutex_t pGetTime = PTHREAD_MUTEX_INITIALIZER;
void gettimeofdayHaxMutex(struct timeval *tv)    //主要担心 gettimeofday 并不是线程安全的函数
{
    pthread_mutex_lock(&pGetTime);
    gettimeofday(tv,NULL);
    pthread_mutex_unlock(&pGetTime);
}

pthread_mutex_t mutex = PTHREAD_MUTEX_IN
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值