线程分离/可连接方法

Lee*_*Lee 6 c# multithreading join detach

C#线程Detach/ Joinable函数在哪里?

在C++ 11中,这些函数可用:

thread::joinable()
thread::detach()
Run Code Online (Sandbox Code Playgroud)

但它们在.NET中找不到 - 它们在哪里?

usr*_*usr 2

detach您认为 .NET会做什么?.NET 没有自动存储期限。这个概念不适用。

joinable也并不真正适用,因为您可以Join任何线程,甚至Thread.Current. 如果您坚持使用 C++ 语义:

Thread someThread = ...;
bool isJoinable = Thread.Current != someThread;
Run Code Online (Sandbox Code Playgroud)

Thread对象会受到垃圾收集的影响,但无论该Thread对象是否仍然可访问,线程都会运行直至完成。不用担心这个。