다음 코드를 가지고 있습니다. 누구든지 내 의심을 분명히 할 수 있습니다.스레드 다시 인스턴스화
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 개의 스레드가 생성되어 성능 문제가 발생합니까?
스레드를 수동으로 생성하는 대신 스레드 풀에서 처리하도록 '표시'를 대기열에 넣을 수 있습니다. – CodesInChaos
실제로 무엇을하려고합니까? 일반적으로 스레드를 유휴 상태로두고 차단하고 다시 작업을 시작하면 스레드 생성 오버 헤드를 피할 수 있습니다. 하지만 실제로, 당신의 실제 문제는 무엇입니까? –
스레드와 스레드간에 차이가 있습니다. 위 코드에서 "thread"스레드를 두 번 시작합니다. 호출중인 Sleep 메서드가 시작한 스레드를 호출하지 않지만 응용 프로그램 기본 스레드 – reggie