多线程设置分离线程的问题
程序如下
#include<pthread.h>
#include <iostream>
#include <fstream>
using namespace std;
void* func(void *arg)
{
for(int i =0 ; i<5; i++)
cout << "--"<<i << endl;
pthread_exit(NULL);
return 0;
}
int
main(int argc, char **argv)
{
pthread_t threads[10];
pthread_attr_t tattr;
pthread_attr_init(&tattr);
void *arg;
//pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED);
//int ret = pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_JOINABLE);
int ret = pthread_attr_setdetachstate(&tattr,PTHREAD_CREATE_DETACHED);
cout << ret << endl;
for(int i=0; i < 10; ++i)
pthread_create(&threads[i], &tattr, func, arg);
/*
for(int i=0; i < 10; ++i)
pthread_join(threads[i],NULL);
*/
return 0;
}
为什么只要我设置了PTHREAD_CREATE_DETACHED以后,pthread_create()不能调用我的函数了呢?