Rust如何处理终止线程?

时间:2019-03-18 19:19:36

标签: multithreading concurrency rust

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

1 个答案:

答案 0 :(得分:3)

  

Rust如何处理杀死线程?

没有;没有办法杀死线程。

另请参阅:

  

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

生成线程时,会得到一个JoinHandle,让您等待子线程完成。孩子不认识父母。

  

[其他线程发生了什么]在线程恐慌和死去的情况下

thread::spawn的文档很好地介绍了这一点:

  

连接句柄将在被隐式地分离子线程   掉了。在这种情况下,子线程可能会超过父线程(除非   父线程是主线程;整个过程在以下时间终止   主线程完成)。此外,联接句柄提供了join   可用于加入子线程的方法。如果子线程   恐慌,join将返回一个Err,其中包含指定给   panic

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