当前位置:网站首页 > Haskell函数式编程 > 正文

条件变量是什么(条件变量函数)

#include <stdio.h>


#include <stdlib.h>



pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

/* 初始化互斥锁 */

pthread_cond_t cond = PTHREAD_COND_INITIALIZER;

/* 初始化条件变量 */

void

*thread1(

void

*);


void

*thread2(

void

*);



int

i=

1

;


int

main(

void

)


{


    pthread_t t_a;


    pthread_t t_b;




    pthread_create(&t_a,NULL,thread1,(

void

*)NULL);

/* 创建进程t_a */

    pthread_create(&t_b,NULL,thread2,(

void

*)NULL);

/* 创建进程t_b */

    pthread_join(t_b, NULL);

/* 等待进程t_b结束 */

    pthread_mutex_destroy(&mutex);


    pthread_cond_destroy(&cond);


    exit(

0

);


}



void

*thread1(

void

*junk)


{


    

for

(i=

1

;i<=

9

;i++)


    {


      pthread_mutex_lock(&mutex);

/* 锁住互斥量 */

       

if

(i%

3

==

0

)


       pthread_cond_signal(&cond);

/* 条件改变,发送信号,通知t_b进程 */

       

else


       printf(

" thead1:%d "

,i);


       pthread_mutex_unlock(&mutex);

/* 解锁互斥量 */

sleep(

1

);


}


}



void

*thread2(

void

*junk)


{


    

while

(i<

9

)


    {


      pthread_mutex_lock(&mutex);


if

(i%

3

!=

0

)


         pthread_cond_wait(&cond,&mutex);

/* 等待 */

      printf(

" thread2:%d "

,i);


      pthread_mutex_unlock(&mutex);


sleep(

1

);


}



















































到此这篇条件变量是什么(条件变量函数)的文章就 介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在 编程的领域有一番成就!

































































































版权声明


相关文章:

  • 信用卡支付方式有哪些(信用卡支付方式有哪些类型)2026-02-16 17:54:07
  • 编程初学者教程(编程初学者教程大全)2026-02-16 17:54:07
  • 任务管理器怎么快捷打开控制面板(任务管理器的快捷打开方式)2026-02-16 17:54:07
  • 商户无可用的支付方式是什么意思(商户无可用的支付方式,pmmno=ep053)2026-02-16 17:54:07
  • 计算机编程零基础教程(计算机编程零基础教程书籍)2026-02-16 17:54:07
  • 新加坡支付方式有哪些(新加坡的支付方式)2026-02-16 17:54:07
  • sigmoid函数计算公式导数(sigmoid函数推导)2026-02-16 17:54:07
  • mysql窗口函数执行顺序(mysql窗口函数执行顺序错误)2026-02-16 17:54:07
  • 打开目录(打开目录的函数是)2026-02-16 17:54:07
  • 鸿蒙编程入门教程(鸿蒙编程需要什么基础)2026-02-16 17:54:07
  • 全屏图片