我有下面的代码,有谁可以请澄清我的疑问。重新实例化线程
public static void Main() {
Thread thread = new Thread(Display);
thread.Start();
Thread.Sleep(5000);
// Throws exception, thread is terminated, cannot be restarted.
thread.Start()
}
public static void Display() {
}
这似乎是为了重新启动线程我不得不再次实例化线程。这是否意味着我正在创建一个新线程?如果我继续创建100次重新注入,是否会创建100个线程并导致性能问题?
你可能想排列'Display',以便它被线程池处理而不是手动创建一个线程。 – CodesInChaos 2011-04-11 12:21:03
你究竟在做什么?通常情况下,通过让线程保持空闲状态来阻止线程创建开销,然后在进行更多工作时再次启动它们。但是,真的,你的实际问题是什么? – 2011-04-11 12:21:38
线程和线程之间有区别。在上面的代码中,您正在启动线程“线程”两次。您调用的Sleep方法不会调用您已启动的线程,但应用程序主线程 – reggie 2011-04-11 12:24:45