C# 多线程(2)
Thread类中的join方法:
微软官方解释:Join 一个同步方法,该方法阻止调用线程 (即,调用方法的线程) ,直到 Join 调用方法的线程完成。 使用此方法可以确保线程已终止。
using System;
using System.Threading;
namespace _20210115线程
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("主线程线程ID为:" + Thread.GetCurrentProcessorId());
Thread thread = new Thread(new ParameterizedThreadStart(StartCode));
thread.Start("Hello");
//thread.Join();
for (int i = 0; i < 10; i++)
{
Thread.Sleep(100);
Console.WriteLine("主线程中循环{0}", i);
}
Console.WriteLine("主线程调用完毕。");
Console.ReadKey();
}
public static void StartCode(object o)
{
Console.WriteLine("StartCode方法开始。");
Console.WriteLine("方法线程ID为:" + Thread.GetCurrentProcessorId());
Console.WriteLine("StartCode方法输入的参数o是:{0}", o);
for (int i = 0; i < 10; i++)
{
Thread.Sleep(100);
Console.WriteLine("StartCode方法中循环{0}", i);
}
Console.WriteLine("StartCode方法结束。");
}
}
}thread.Join();
这句注释掉时结果如下:
加上这句后结果如下:在StartCode这个函数的线程执行时主线程(main)是阻塞的,方法线程结束后主线程继续执行。



鲁公网安备 37148202000241号