교통 시뮬레이션 프로젝트를 지금 공부하고 있습니다. 그러나 나는 시뮬레이션을 일시 중지하는 문제가 있습니다. 각 차는 내 응용 프로그램의 스레드로 간주됩니다. 시뮬레이션이 실행 중일 때 (Cars 그리드가 움직이는 중) 멈추고 싶습니다.스레드가 데이터를 변경하는 것을 일시 중지하고 C#에서 다시 시작하는 방법은 무엇입니까?
Thread.suspend()
메서드가 작동하지 않습니다. 데이터를 변경하지 못하도록 스레드를 중지해야하기 때문입니다.
UI
.
아이디어가 있으십니까?
미리 감사드립니다.
_I UI_을 (를) 차단하므로 스레드가 직접 잠자기 상태가 될 수 없습니다. 자동차에 별도의 작업자 스레드를 사용하고 있습니다. 왜 작업자 스레드를 일시 중단하면 주 스레드에서 실행되는 UI가 차단됩니까? –
실제로, 그것은 매우 이상합니다. myThread.suspend(); 그것은 U자를 잠그지 않는다; 그러나, 내가 그것을 thread.sleep() 메소드로 지정된 시간 동안 잠자기시키고 자 할 때, ui는 잠긴다. – Serhat
thread.sleep()은 지정된 시간 동안 현재 스레드를 잠자기 상태로 만듭니다. 단추를 클릭하면 UI 스레드가 응답하지 않고 해당 기간 동안 잠자기 상태가됩니다. – tinman