gpt4 book ai didi

c# - 结束线程构造

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:30 26 4
gpt4 key购买 nike

所以我对 C# 还是很陌生。我正在学习线程。

到目前为止,我想知道如何检查线程是否已结束。我知道我可以在线程使用的方法的末尾放置一个 bool 并使用它来确定线程是否结束..但我不想这样做,主要是因为我想学习正确的方法

到目前为止我有这个。

Thread testThreadd = new Thread(Testmethod);
testThreadd.Start();
testThreadd.Join();

我读到了 thread.join();类(class)。据我了解,该类仅阻止执行之后的任何代码。请帮助

最佳答案

不同的方法会产生不同的结果

1 ) 等到工作完成。这正是您已经拥有的代码。您将启动一个线程,然后等待该线程完成,然后再继续执行。

thread.Start();
thread.Join();

2) 线程。 ThreadState会告诉你线程是否已经完成。在基本场景中,您可以执行以下操作。这将允许您在代码中可以访问状态的任何位置检查当前线程状态。

if(thread.ThreadState != ThreadState.Running){
// Thread has stopped
}

3) 使用事件。许多异步示例将开始一些工作,然后在工作完成后触发一个事件。通过这种方式,您可以坐下来观察事件并在工作完成后做出响应。一个用法示例可能类似于 WebClient 类

WebClient client = new WebClient();
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);

关于c# - 结束线程构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com