using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Test
{
class TestThread
{
private static void ThreadFuncOne()
{
for (int i = 0; i < 150; i++)
{
Console.WriteLine("----"+Thread.CurrentThread.Name + " i = " + i);
}
Console.WriteLine(Thread.CurrentThread.Name + " has finished");
}
static void Main(string[] args)
{
Thread.CurrentThread.Name = "MainThread";
Thread newThread = new Thread(new ThreadStart(ThreadFuncOne));
newThread.Name = "NewThread";
newThread.Start();
for (int j = 0; j < 200; j++)
{
if (j == 60)
{
newThread.Join();
}
else
{
Console.WriteLine(Thread.CurrentThread.Name + " j = " + j);
}
}
Console.Read();
}
}
}
線程的jion:
線上程A中調用線程B的jion方法,線程A暫停執行,一直執行完線程B然後才執行線程A。
在A線程中建立線程B,然後啟動線程B,當執行線程B的jion方法後,A線程將被阻塞,只執行B線程,一直等到B線程執行完畢,才繼續執行A線程。
線程B可以再A中建立,也可以不在A中建立。