如何知道pthread是否死亡

jar*_*ryd 7 pthreads

怎么能知道pthread死了?

有没有办法检查pthreads状态?

Dam*_*mon 10

if(pthread_kill(the_thread, 0) == 0)
{
    /* still running */
}
Run Code Online (Sandbox Code Playgroud)

请参阅:pthread_kill

注意:使用pthread_kill()测试线程是否仍在运行存在固有风险.请参阅此文章以获得解释: 如何确定pthread是否存活?

  • 此代码仅在`the_thread`可连接且​​尚未连接时有效.如果它已经被连接或者它已被分离,那么在它的生命周期之后使用它的线程id(包括`pthread_kill`)会导致*非常危险的*未定义的行为. (2认同)