博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c 语言多线程
阅读量:2352 次
发布时间:2019-05-10

本文共 577 字,大约阅读时间需要 1 分钟。

需要知道 pthread_join 的重要性,这个函数将阻塞直到所有线程都执行完成主函数才会退出。否则可能有些线程还没来得及执行就会因为主函数的退出而终止。

#include <pthread.h>

#include <unistd.h>

#include <stdio.h>

#include <stdlib.h>

#define MAX_THREAD 20

  
  void *new_thread(void *start_num)
  {
      int     num = (int) start_num;
      printf("Start_num is: %d\n", num);
      pthread_exit(NULL);
  }
  
  int main(void)
  {
      int     ret, start_num = 101;
      int     i = 0;
  
      pthread_t threadtest[10];
  
      for (i = 0; i < 10; i++)
      { 
          ret = pthread_create(&threadtest[i], NULL, (void *)new_thread, (void *)start_num);  
          start_num++;
      } 
  

      for (i = 0; i < 10; i++) 

          pthread_join(threadtest[i], NULL);

    
      return 0;
  }

转载地址:http://horvb.baihongyu.com/

你可能感兴趣的文章
BindException: Cannot assign requested address (Bind failed)解决办法
查看>>
Centos7:Docker安装Gitlab
查看>>
Kafka日志配置
查看>>
logstash 6.x 收集syslog日志
查看>>
Apche Kylin启动报错:UnknownHostException: node1:2181: invalid IPv6 address
查看>>
Apache Kylin 2.3 构建Cube失败
查看>>
Apache Kylin 2.3 样例分析
查看>>
Apache Kylin 2.3 JDBC Java API 示例
查看>>
An internal error occurred during: "Initializing Java Tooling". java.lang.NullPointerException
查看>>
ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
查看>>
IntelliJ IDEA 2018 基本配置
查看>>
Spring+Mybatis+多数据源(MySQL+Oracle)
查看>>
Mybatis读取Oracle数据库Blob字段,输出原文件
查看>>
信用卡反欺诈
查看>>
线性回归
查看>>
浏览器以只读方式打开PDF
查看>>
CDH和HDP下载地址
查看>>
MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0\x9D\x90\xB6"#...' for column
查看>>
.MysqlDataTruncation: Data truncation: Data too long for column 'content' at row 1
查看>>
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1146177 > 1048576).
查看>>