首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

小弟我写的多线程 程序为什么没进入 死循环

2012-07-30 
我写的多线程 程序为什么没进入 死循环?我是菜鸟 一直学asp.net 没接触过线程 在网上找了个例子,根据自己

我写的多线程 程序为什么没进入 死循环?
我是菜鸟 一直学asp.net 没接触过线程 在网上找了个例子,根据自己的理解 改了一下,觉得应该进入死循环啊!!并且单步调试时确实也是进入死循环了!可是一运行,还是没有死循环!? 代码如下:

C# code
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;        }    }}


[解决办法]
oThread.Abort()会引发异常
使用标示量退出

热点排行