多线程的一种场景
2017-07-08 11:09
141 查看
多线程执行一段程序
void* say_hello(void* args) { int tid = *((int*)args); printf("i = %d\n", tid); //printf("process yuv %s h264 %s\n",yuv_input[i].c_str(),h264_output[i].c_str()); } // 线程的运行函数,函数返回的是函数指针,便于后面作为参数 // 定义线程的 id 变量,多个变量使用数组 pthread_t tids[NUM_THREADS]; int indexes[NUM_THREADS];// 用数组来保存i的值 for(int i = 0; i < process_no; ++i) { indexes[i] = i; //先保存i的值 //参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数 int ret = pthread_create(&tids[i], NULL, say_hello, (void *)&(indexes[i])); if (ret != 0) { std::cout << "pthread_create error: error_code=" << ret << std::endl; } } //等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来; void *status; for( int i = 0; i < process_no; ++i ) { int ret = pthread_join( tids[i], &status ); //主程序join每个线程后取得每个线程的退出信息status if( ret != 0 ) { std::cout << "pthread_join error:error_code=" << ret << std::endl; } } //pthread_exit(NULL);
相关文章推荐
- 多线程,多显示场景图形设计:一种新的过程模型
- 多线程,多显示场景图形设计:一种新的过程模型
- 微信模板消息多线程发送场景设计
- 数字图像识别——一种场景的实现
- ICE中的Monitor类:一种有趣的实现多线程之间、生产者与消费者的大体思路
- MFC 一种比较笨的办法实现多线程执行类成员函数
- java 多线程规范(1)常用的多线程的场景
- 解决场景加载慢的一种方法
- ora-12541无监听的一种场景
- 《多核程序设计》PART 6:OpenMP 一种可移植的多线程解决方案 (1)
- Java多线程有哪几种实现方式? Java中的类如何保证线程安全? 请说明ThreadLocal的用法和适用场景(面试题)
- 多线程的应用场景
- ApsaraDB for SQL Server 混合云场景一种解决方案
- 数据库索引失效的一种场景:分析问题的思路和策略
- 一种简单有效的3D模型的动画多线程方案
- 《多核程序设计》Part 6:OpenMP 一种可移植的多线程解决方案(2)
- 一种简单有效的3D模型的动画多线程方案
- Java多线程的一种实现
- 多进程与多线程应用场景对比
- iOS 多线程在项目中的应用场景(一)