代码如下:
class Program
{
public static void subThreadFunc()
{
int i = 1;
do {
i = i + 2;
Console.WriteLine("子线程正在进行。。。{0}", i);
Thread.Sleep(1000);
}
while (1 == 1);
}
[Obsolete]
public static void 线程阻塞演示()
{
Console.WriteLine("子线程启动,停止、终止、阻塞综合演示:");
Thread threadS = new Thread(new ThreadStart(Program.subThreadFunc));
Console.WriteLine("子线程启动。。。");
threadS.Start();
Console.WriteLine("子线程状态:{0}", threadS.ThreadState);
Thread.Sleep(10000);
Console.WriteLine("主线程休眠10秒");
//threadS.Sleep(5000);//这里想让子线程休眠5秒再执行,但是不能用sleep
Console.WriteLine();
Console.WriteLine("子线程状态:{0}", threadS.ThreadState);
Console.WriteLine("子线程终止。。。");
Console.WriteLine("Program.subThreadFunc被终止。");
try
{
Console.WriteLine("尝试启动Program.subThreadFunc线程");
threadS.Start();
Console.WriteLine("尝试启动Program.subThreadFunc线程失败");
}
catch (Exception)
{
Console.WriteLine("Program.subThreadFunc已经被终止不能被重新启动。");
Console.ReadLine();
return;
}
}
static void Main(string[] args)
{
Program.线程阻塞演示();
}
}
这里 我想让子线程休眠5秒再继续跑,但是threadS中调不出Sleep,这是为什么呢,为何就不能让子线程休眠。请高手指点。