.NET4.5 Console.ReadKey()在多线程下的BUG
2013-08-22 11:38 阮萤 阅读(713) 评论(0) 编辑 收藏 举报.NET 4.5 在多线程的控制台里,Console.ReadKey()可能会造成线程死锁。看代码:
static void Main(string[] args) { System.Timers.Timer timer = new System.Timers.Timer(1000); timer.Elapsed += timer_Elapsed; timer.Enabled = true; Console.ReadKey();// 使用Console.ReadLine() ;工作正常 } static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Console.WriteLine("Hello World"); }
"Hello World"无法正常输出到控制台中。但使用Console.ReadLine()没有此问题。