C++ 如何使用main函数连接线程

C++ 如何使用main函数连接线程,c++,pthreads,C++,Pthreads,嘿,我可以创建线程,但它没有与主线程连接…程序没有执行第三个for循环..ie。螺纹连接部分…如有任何帮助,将不胜感激 这是我的密码: for(i=0;i<N/2;i++) { pthread_create (&thread[i], NULL, thread_sort, (void *) &data[i]); } for(i=0;i<N/2;i++) { if( pthread_create (&thread[i], NULL,thread

嘿,我可以创建线程,但它没有与主线程连接…程序没有执行第三个for循环..ie。螺纹连接部分…如有任何帮助,将不胜感激

这是我的密码:

for(i=0;i<N/2;i++) {
    pthread_create (&thread[i], NULL, thread_sort, (void *) &data[i]);  
}
for(i=0;i<N/2;i++) {
    if( pthread_create (&thread[i], NULL,thread_sort, (void *) &data[i])<0) {
        cout<<"\n Error in creation of threads.....!!!!!!!!";
    } 
    else {
        cout<<"Thread "<<i<<"is Created"<<endl;
    }     
}

for(i=0;i<N/2;i++) {
    pthread_join(thread[i],NULL);
    if (pthread_join(thread[i],NULL)<0) {
        cout<<"\n Error in joining Threads";
    }                
}

for(i=0;i
for(i=0;看,它根本没有进入第三个循环吗?是的,它根本没有执行第三个循环,因为我尝试在循环中打印一些变量。它没有打印。这意味着它没有进入第三个循环。对吗?@user3281808哪一个问题?请编辑你的问题,这是我投票失败和接近的原因!可能是因为e看起来您正在做上述相同的事情(调用pthread_create()两次)。尝试执行第一个循环。@Namfuak ok现在我正在调用pthread_create()一次,但问题仍然存在
for(i=0;i<N/2;i++) {
    pthread_join(thread[i],NULL);
    if (pthread_join(thread[i],NULL)<0) {
        cout<<"\n Error in joining Threads";
    }                
}
for(i=0;i<N/2;i++) {
    if (pthread_join(thread[i],NULL)<0) {
        cout<<"\n Error in joining Threads";
    }                
}