如何从调用线程但保持线程运行的函数中退出?

时间:2019-07-13 17:57:28

标签: c multithreading pthreads

我一直在某些C项目中工作,我有一个调用pthread_create()的函数,但我需要该函数返回并保持线程化函数继续运行。

这是我的代码:

audio_file
play(char file_name[])
{
    /* Plays audio file  */

    pthread_t thread; 


    audio_file a_file = p_get_file(file_name);

    if(a_file.type != BROKEN)
        pthread_create(&thread,NULL,audio_output,&a_file);

    return a_file;
}

1 个答案:

答案 0 :(得分:0)

在应该继续运行的线程中执行pthread_detach。如果该线程是从主线程创建的,则主线程应使用pthread_exit而不是exit()退出。