Linux线程异步

test.c

#include <pthread.h>
#include <stdlib.h>
#include <stdio.h>
void* thread1Func(void* arg)
{
printf("childThread1 is running\n");
pthread_exit((void*)0);
}
void* thread2Func(void* arg)
{
printf("childThread2 is running\n");
pthread_exit((void*)0);
}

void* ret_result_thread1;
void* ret_result_thread2;
int main(int argc, char** argv)
{
printf("main thread is running\n");
pthread_t thread1,thread2;
int result;
if( (result = pthread_create(&thread1,NULL,thread1Func,NULL)) != 0)
{
perror("thread1 create failed");
}

if( (result = pthread_create(&thread2,NULL,thread2Func,NULL)) != 0)
{
perror("thread2 create failed");
}

pthread_join(thread1,ret_result_thread1);
pthread_join(thread2,ret_result_thread2);

printf("main thread is finished\n");
return 0;
}

注意:线程的返回结果不能定义为局部变量,否则会报segmentation fault(段错误)

更多相关文章

  1. [置顶] 每天进步一点点——Linux中的线程局部存储(一)
  2. 在Linux中查找线程的CPU使用情况
  3. 线程同步-生产者消费者问题
  4. Linux多线程总结
  5. Linux多线程实践(一)线程基本概念和理论
  6. linux线程函数中代替sleep的方法
  7. linux 多线程基础
  8. linux进程和线程排查 · 记一次JVM CPU高负载的排查办法
  9. linux下main thread如何使用pthread_join等待子线程结束后再退出

随机推荐

  1. 无法使用@ContextConfiguration加载Appli
  2. XML验证 - 使用多个xsd
  3. 在网页程序或Java程序中调用接口实现短信
  4. 抽象批处理SFTP多目的地和自动重试
  5. java漏洞成黑客目标微软呼吁用户更新软件
  6. Thread.currentThread().getName() 和 th
  7. 算法 - 给出一个字符串str,输出包含两个
  8. JavaScript unshift()函数移入数据到数组
  9. 《JavaScript 高级程序设计》学习总结六(1
  10. OSGi 学习之路(4) - osgi的模块化 java在模