通过Pthread循环创建多个线程
#include <pthread.h>
#include <iostream>
using namespace std;
void* printChar(void* data)
{
return reinterpret_cast<void*>(*reinterpret_cast<int*>(data));
}
int main(void)
{
pthread_t tids[10];
int result[10];
int* nData;
for (int i=0;i<10;++i)
{
nData = new int(i);
pthread_create(&tids[i],NULL,printChar,reinterpret_cast<void*>(nData));
}
for (int i=0;i<10;++i)
{
pthread_join(tids[i],reinterpret_cast<void**>(&result[i]));
}
delete nData;
for (int num : result)
{
cout<<num<<endl;
}
}
CMakeList.txt
cmake_minimum_required(VERSION 2.6)
project(pthread_demo)
add_executable(pthread_demo main.cpp)
target_link_libraries(pthread_demo pthread)