그래서 나는 다른 프로그램을위한 일종의 '쉘'역할을하는 프로그램을 가지고있다. 핵심에서는 클래스, 메소드 이름 및 일부 args를 전달하고 다른 프로그래머가 기본적으로 프로세스를이 쉘 서비스에서 실행하도록 예약 할 수 있도록하는 기능의 실행을 처리합니다. 한 가지 문제를 제외하고는 모두 잘 작동합니다. 자주 실행되도록 예약 된 이러한 프로세스는 매우 CPU가 무겁습니다. 때로는 호출되는 프로세스가 CPU의 많은 부분을 사용하여 시작하고 일정을 확인하고 다른 작업을 실행하는 스레드가 상당 기간 실행될 기회를 갖지 않아 일정 문제와 충분한 응답 성의 부재. 불행히도, 나는 실제 소유 코드가 아니라 Thread.Sleep() 호출을 실제 실행 코드에 삽입 할 수 없다.잠자리에 다른 스레드 강제로
내 질문은 : 그 스레드에서 실행중인 실제 코드를 수정하지 않고 임의로 (시작한) 스레드를 강제로 수면 상태로 만들 수 있습니까? 거기에 런타임에 동적으로 실행하려고하는 코드에 Thread.Sleep() 호출을 '주입'하는 방법이 있습니까?
대답은 아니지만 ... 관련 인터페이스를 제어하는 경우 협업 멀티 태스킹을 수행 할 수있는 곳에서 프로그램을 요청할 수 있습니다 (기본적으로 다른 프로세스가 중단되면 절전). 그것은 당신이 코드를 소유하지 않는 정도에 달려 있습니다. –