如果调用函数结束,线程会死掉吗?

时间:2019-02-21 11:17:18

标签: pthreads

请考虑执行函数hello()的线程t1。我正在从函数func()中创建并调用线程t1。我的问题是,即使func()结束,即使线程尚未结束并且仍有工作要做,线程t1也会死亡吗?

1 个答案:

答案 0 :(得分:0)

线程无法跟踪哪个线程创建了它们,也无法知道创建线程是否已结束。

线程仅结束:

  • 如果在线程创建时调用的函数终止

  • 如果线程调用pthread_exit()

  • 如果线程接收到带有pthread_kill(thread_id,sig)的信号,并且处理程序终止线程。

  • ,如果另一个线程调用pthread_cancel(thread_id)。线程必须知道要杀死的线程的thread_id,并且有禁止取消的方法。

  • 如果进程终止。