假设线程A创建了线程B,经过一段时间后,线程B遇到问题崩溃了,是否有可能在C语言中将控制权返回给线程A。这类似于异常处理。
假设线程A创建了线程B,经过一段时间后,线程B遇到问题崩溃了,是否有可能在C语言中将控制权返回给线程A。这类似于异常处理。
不,“控制权返回”并没有太多意义,因为它们是独立执行的 - 通常情况下,线程A不会等待线程B完成,而是会做其他事情。
顺便说一句,线程当然可以检查另一个线程是否仍在运行。请检查您使用的线程库或系统函数。
但是,这只适用于某种程度上可以称之为“软崩溃”的情况; 许多崩溃会造成比执行错误的线程更多的损坏,例如杀死整个进程的硬件异常或破坏内存。因此,尝试在另一个线程中捕获崩溃将需要大量工作,而且几乎没有任何好处。最好花时间修复崩溃。