你的主线程在 pthread_create 结束并打印 success 后,直接返回退出了,导致整个进程都结束了,你新创出来的线程自然也结束了。解决方法是让主线程等待新创线程结束后再退出,如下
int tmp = pthread_create(&t_id1, NULL, run1, NULL);
if(tmp == 0)
cout << "success" << endl;
// wait t_id1 complete
pthread_join(t_id1, NULL);
return 0;
多线程的程序,在编译的时候要加参数让它能连接到多线程库的,gcc中好像是 -lpthread 什么的,不知道g++对应的是什么