服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - c语言线程终止练习示例

c语言线程终止练习示例

2021-01-19 13:54C语言教程网 C/C++

这篇文章主要介绍了c语言线程终止练习示例,需要的朋友可以参考下

复制代码 代码如下:


#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

 

void *t1(void *args) {
 return (void *) 0;
}

void *t2(void *args) {
 printf("thread 2 param[args] = %d\n", args);
 pthread_exit((void *) 3);
}

void *t3(void *args) {
 while(1) {
  printf("thread 3 is working\n");
  sleep(1);
 }
}

int main(int argc, char *argv[]) {
 pthread_t thread;
 int err;
 void *status;

 printf("creating thread 1\n");
 err = pthread_create(&thread, NULL, t1, NULL);
 if(err) {
  printf("Can not created thread 1\n");
  exit(-1);
 }
 pthread_join(thread, &status);
 printf("thread 1 exit return code %d\n\n", status);
 

 printf("creating thread 2\n");
 err = pthread_create(&thread, NULL, t2, (void *) 9);
 if(err) {
  printf("Can not created thread 2\n");
  exit(-2);
 }
 pthread_join(thread, &status);
 printf("thread 2 exit return code %d\n\n", status);

  
 printf("creating thread 3\n");
 err = pthread_create(&thread, NULL, t3, NULL);
 if(err) {
  printf("Can not created thread 3\n");
  exit(-3);
 }
 sleep(10);
 pthread_cancel(thread);
 pthread_join(thread, &status);
 printf("thread 3 exit return code %d\n", status);

 return 1;
}

 

延伸 · 阅读

精彩推荐