pthread_cond同步

本文介绍了一个使用 POSIX 线程库中的条件变量 (pthread_cond) 和互斥锁 (pthread_mutex) 的示例。代码展示了如何初始化这些同步原语,并通过一个定时等待 (timed wait) 的例子说明了它们的使用方式。此外,还演示了如何发送信号通知等待线程以及如何解锁互斥锁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   pthread_cond_init(&cond,   NULL);
    pthread_mutex_init (&mutex, NULL);


    pthread_mutex_lock (&mutex);

    struct timespec timeout;
    /*
    struct timeval now;
    gettimeofday(&now);
    timeout.tv_sec = now.tv_sec+2;
    timeout.tv_nsec = now.tv_usec * 1000;
    */

     timeout.tv_sec     =     time(NULL)+2;         //Wait     for     1     second,     Must
     timeout.tv_nsec     =     0;

    if(pthread_cond_timedwait(&cond,   &mutex, &timeout)!=ETIMEDOUT)
    {

    }

 

          pthread_mutex_lock (&mutex);
         pthread_cond_signal (&cond);
         pthread_mutex_unlock (&mutex);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值