系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  电脑教程 Linux多线程编程

Linux多线程编程

时间:2023-06-02 16:16:41 来源: 人气:

   #include,  #include,  #include,  #include,  #define MAX 10,  pthread_t thread[2];,  pthread_mutex_t mut;,  int number=0, i;,  void *thread1(),  {,  printf ("thread1 : Im thread 1n");,  for (i = 0; i < MAX; i++),  {,  printf("thread1 : number = %dn",number);,  pthread_mutex_lock(&mut);,  number++;,  pthread_mutex_unlock(&mut);,  sleep(2);,  },  printf("thread1 :主函数在等我完成任务吗?n");,  pthread_exit(NULL);,  },  void *thread2(),  {,  printf("thread2 : Im thread 2n");,  for (i = 0; i < MAX; i++),  {,  printf("thread2 : number = %dn",number);,  pthread_mutex_lock(&mut);,  number++;,  pthread_mutex_unlock(&mut);,  sleep(3);,  },  printf("thread2 :主函数在等我完成任务吗?n");,  pthread_exit(NULL);,  },  void thread_create(void),  {,  int temp;,  memset(&thread, 0, sizeof(thread)); //comment1,  /*创建线程*/,  if((temp = pthread_create(&thread[0], NULL, thread1, NULL)) != 0) //comment2,  printf("线程1创建失败!n");,  else,  printf("线程1被创建n");,  if((temp = pthread_create(&thread[1], NULL, thread2, NULL)) != 0) //comment3,  printf("线程2创建失败");,  else,  printf("线程2被创建n");,  },  void thread_wait(void),  {,  /*等待线程结束*/,  if(thread[0] !=0) { //comment4,  pthread_join(thread[0],NULL);,  printf("线程1已经结束n");,  },  if(thread[1] !=0) { //comment5,  pthread_join(thread[1],NULL);,  printf("线程2已经结束n");,  },  },  int main(),  {,  /*用默认属性初始化互斥锁*/,  pthread_mutex_init(&mut,NULL);,  printf("我是主函数哦,我正在创建线程,呵呵n");,  thread_create();,  printf("我是主函数哦,我正在等待线程完成任务阿,呵呵n");,  thread_wait();,  return 0;,  },

作者

教程资讯

电脑教程排行

系统教程

系统主题