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

Thread oThread = new Thread(new ThreadStart(ddd))为什么走不到ddd这个函数,请高手指教,该怎么处理

2012-02-08 
Thread oThread new Thread(new ThreadStart(ddd))为什么走不到ddd这个函数,请高手指教publicvoidddd()/

Thread oThread = new Thread(new ThreadStart(ddd))为什么走不到ddd这个函数,请高手指教
public   void   ddd()                                               ////1
{                                                                               ////2
try                                                         ////3
{                                                             ////4
Form1   formq   =   new   Form1();////5
                                    int   a   =   9;                                 ////6
}                                                                     ////7
catch                                                             ////8
{                                                                     ////9
int   nn   =   9;                               ////10
}                                                                     ////11
}                                                                                       ////12
private   void   timer2_Tick(object   sender,   System.EventArgs   e)////13
{                                                                                                                     ////14
timer2.Enabled   =   false;                                                       ////15
Thread   oThread   =   new   Thread(new   ThreadStart(ddd));////16


oThread.Start();                                                                     ////17
while(!oThread.IsAlive);                                                     ////18
oThread.Abort();                                                                     ////19
oThread.Join();                                                                       ////20
timer2.Enabled   =   true;                                                         ////21
}                                                                                                                     ////22
在第5行设置断点后,按F5,走不到该断点.如果在15行加一个断点后就可以走到15行,然后用F10单步跟就可以走到第5行,但是再按F10走不到第6行,直接回到了定时器中,并没有被CATCH,请问是怎么回事,怎么才能走到第6行.

[解决办法]
其实你用了timer,本身就可以模拟多线程,为什么还要在timer事件里面启动其他线程呢
[解决办法]
什么叫被优化掉了,请问怎么能让它走到第六行.


他没有第六行了!
C#又不是解释执行的。

这是因为你的程序定义了i而不使用,所以编译器直接把i省略了。
[解决办法]
如果你timer里面有循环处理的话,用Application.DoEvents()试一试,看看其他的处理会不会被响应

热点排行