产生的线程之间是否存在父子连接?如果我从我产生其他线程的地方杀死线程,那些会被杀死吗?这个操作系统特定吗?
Rust如何处理杀死线程?
它没有;没有办法杀死一个线程。
也可以看看:
产生的线程之间是否存在父子连接?
当你产生一个线程时,你得到一个JoinHandle
,它允许你等待子线程完成。孩子不知道父母。
[在线程恐慌和死亡的情况下,其他线程会发生什么?
thread::spawn
的文档涵盖了这个:
连接句柄将在被删除时隐式分离子线程。在这种情况下,子线程可能比父线程更长(除非父线程是主线程;整个进程在主线程完成时终止)。此外,连接句柄提供了一个
join
方法,可用于连接子线程。如果孩子线程恐慌,join
将返回一个Err
,其中包含给panic
的参数。
也就是说,一旦子线程启动,父线程发生的事情基本上无关紧要,除非父线程是主线程,在这种情况下整个进程终止。