代码:
#include <iostream>
#include <pthread.h>
#include <string>
#include <unistd.h>
#include <cstdio>
using namespace std;
void *threadRun(void *args)
{
const string name = (char*)args;
while(true)
{
cout << name << ", pid: " << getpid() <<endl;
sleep(1);
}
}
int main()
{
pthread_t tid[5];
char name[64];
for(int i=0;i<5;i++)
{
snprintf(name,sizeof name,"%s-%d","thread",i);
pthread_create(tid+i,nullptr,threadRun,(void *)name);
sleep(1);
}
while(true)
{
cout << "main thread, pid: " << getpid() << endl;
sleep(3);
}
}
运行结果: