Rust如何处理杀死线程?

问题描述 投票:0回答:1

产生的线程之间是否存在父子连接?如果我从我产生其他线程的地方杀死线程,那些会被杀死吗?这个操作系统特定吗?

multithreading concurrency rust
1个回答
3
投票

Rust如何处理杀死线程?

它没有;没有办法杀死一个线程。

也可以看看:

产生的线程之间是否存在父子连接?

当你产生一个线程时,你得到一个JoinHandle,它允许你等待子线程完成。孩子不知道父母。

[在线程恐慌和死亡的情况下,其他线程会发生什么?

thread::spawn的文档涵盖了这个:

连接句柄将在被删除时隐式分离子线程。在这种情况下,子线程可能比父线程更长(除非父线程是主线程;整个进程在主线程完成时终止)。此外,连接句柄提供了一个join方法,可用于连接子线程。如果孩子线程恐慌,join将返回一个Err,其中包含给panic的参数。

也就是说,一旦子线程启动,父线程发生的事情基本上无关紧要,除非父线程是主线程,在这种情况下整个进程终止。

© www.soinside.com 2019 - 2024. All rights reserved.