我有:
static void Main(string[] args)
{
Task t = new Task(() =>
{
while (true)
{
Console.WriteLine("Test: " + DateTime.Now);
Thread.Sleep(1000);
}
});
t.Start();
while (true)
{
Console.WriteLine("Main thread Test: " + DateTime.Now);
Thread.Sleep(1000);
Debugger.Break();
}
return;
}
当主线程停止时,为什么任务t
停止执行?是否有一种方法可以让任务t
继续执行,而不管我是否在主线程上放置了断点?
编辑
我的真实代码中没有Debugger.Break();
。我每4秒发送一个ping到一台计算机,让另一台计算机知道我连接了。问题是,当我开始调试我的代码时,ping不是每4秒发送一次。如果我可以将这个程序保持为一个程序,并且不需要创建一个单独的程序来负责每4秒发送这个ping,这将是很好的。
发布于 2014-02-11 15:39:30
不,你不能。这就是断点的工作原理-所有的线程都被破坏了!
https://stackoverflow.com/questions/21706081
复制相似问题