我写的多线程 程序为什么没进入 死循环?
我是菜鸟 一直学asp.net 没接触过线程 在网上找了个例子,根据自己的理解 改了一下,觉得应该进入死循环啊!!并且单步调试时确实也是进入死循环了!可是一运行,还是没有死循环!? 代码如下:
namespace THreadTes2{ public class Alpha { public void Beta() { while (true) { Console.WriteLine("Alpha.Beta is running in its own thread."); } } } class Simple { static void Main(string[] args) { Console.WriteLine("Thread Start/Stop/Join Sample"); Alpha oAlpha = new Alpha(); //file://这里创建一个线程,使之执行Alpha类的Beta()方法 Thread oThread = new Thread(new ThreadStart(oAlpha.Beta)); oThread.Start(); //lkf try Start Thread.Sleep(100); oThread.Abort();//杀死线程 看看是否进入死循环 //lkf try End while (!oThread.IsAlive)//当线程死了 就会进入死循环 Thread.Sleep(1); //oThread.Abort(); //oThread.Join();//阻塞 调用他的主线程, Console.WriteLine(); Console.WriteLine("Alpha.Beta has finished"); try { Console.WriteLine("试着重启 Alpha.Beta thread"); oThread.Start(); } catch (ThreadStateException) { Console.Write("线程状态异常,尝试重启 Alpha.Beta. "); Console.WriteLine("预计自中止线程不能被重启 lkf 调用的线程无效."); Console.ReadLine(); } //return 0; } }}