C# 多线程结束时,返回一个信息,使用Join()
时间: 2024-02-25 17:56:49 浏览: 35
可以在线程内部定义一个字段或属性,保存线程结束后的信息。然后在主线程中调用线程的 Join() 方法等待线程结束,最后通过读取线程的字段或属性来获取线程结束后的信息。
示例代码如下:
```csharp
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Thread workerThread = new Thread(WorkerMethod);
workerThread.Start();
// 等待线程结束
workerThread.Join();
// 获取线程结束后的信息
Console.WriteLine(workerThread.Name + " 已结束,返回结果为:" + workerThreadResult);
}
static string workerThreadResult;
static void WorkerMethod()
{
Console.WriteLine("工作线程开始执行...");
// 模拟工作
Thread.Sleep(TimeSpan.FromSeconds(2));
// 保存线程结束后的信息
workerThreadResult = "工作线程执行完毕,返回结果为 42。";
Console.WriteLine("工作线程执行完毕。");
}
}
```
在上述代码中,我们定义了一个静态字段 `workerThreadResult`,用于保存工作线程结束后的信息。在工作线程中,我们模拟了一些工作,并在工作完成后将信息保存到 `workerThreadResult` 字段中。
在主线程中,我们创建了工作线程,并调用了 Join() 方法等待线程结束。在等待工作线程结束后,我们读取了 `workerThreadResult` 字段来获取工作线程执行的结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)