概述
源文件
#include <iostream>
// 必须的头文件是
#include <pthread.h>
#include <unistd.h>
using namespace std;
#define NUM_THREADS 5
// 线程的运行函数
void* say_hello(void* args)
{
int* x = (int *)&args;
cout << "nHello w3cschool!" << "ID: " << *x << endl;
}
int main()
{
// 定义线程的 id 变量,多个变量使用数组
pthread_t tids[NUM_THREADS];
for(int i = 0; i < NUM_THREADS; ++i)
{
//参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数
int ret = pthread_create(&tids[i], NULL, say_hello, (void *)i);
if (ret != 0)
{
cout << "pthread_create error: error_code=" << ret << endl;
}
}
//等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来;
pthread_exit(NULL);
}
编译
g++ pthread_main.cpp -lpthread -o pthread_main
fengxuewei@fengxuewei-Legion-Y7000-2019-PG0:~/UAV/C++_Folder/learn$ ./pthread_main
Hello w3cschool!ID: 0
Hello w3cschool!ID: 3
Hello w3cschool!ID: 2
Hello w3cschool!ID: 1
Hello w3cschool!ID: 4
最后
以上就是忧虑小蚂蚁为你收集整理的C++: 多线程pthread编程的全部内容,希望文章能够帮你解决C++: 多线程pthread编程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复