나는 당신이 작성하지 않은 코드를 실행하는 스레드를 중단 할 수있는 좋은 아이디어라고 생각하지 않는다 - 당신이 가능 등 교착 상태, 손상된 데이터 구조, 또는 발생할 수 그것은 아마도 양성 일 수 있습니다. 그러나 그것은 당신의 위험입니다 ...
예, 원하는 것을 할 수 있습니다. 특정 응용 프로그램 내에서 자신의 코드가 실행되면 특정 이름을 가진 스레드가 오랫동안 잠자기 상태가 될 때까지 스레드를 모니터링하고 다음과 같이 쉽게 인터럽트 할 수 있습니다.
Thread.enumerate()
Thread.getName()
Thread.interrupt()
나머지 프로그램과 동시에 코드를 실행하려면 시작 관리자를 수정하면됩니다. 클래스 경로 수정, 자체 모니터링 스레드를 시작하는 main 메서드로 클래스 만들기 및 실제 주 메서드 호출 .
또는 Java 에이전트로 모니터링 스레드를 작성하고 "-javaagent"스위치를 사용할 수 있습니다. 자세한 내용은 http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html을 참조하십시오.