프로그램과 같은 스카이프를 만들려고합니다. 각 호출에는 수락 스레드와 여러 사용자 스레드가 있습니다. 실행중인 두 개의 호출이 있고 첫 번째 호출에서 사용자가 종료되면 첫 번째 스레드가 중지하도록 알리고 싶지만 두 번째 호출을 계속 실행하고 싶습니다. 나는 "isInterrupted()가"방법은 경우에도 각 내가 호출 할 때 "이 ArrayList를"하지만 "인터럽트를()이"방법이 작동하지 않는로 스레드를 수용 해 봤어 참된. 바로 모든 실행 작업을 중지 (여전히 중단 사용합니다) ExecutorService
의 shutdownNow()
방법은 시도을 의지합니다여러 인스턴스가있을 때 다른 스레드에서 특정 스레드를 닫는 방법
ExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.execute(new Runnable() {
public void run() {
System.out.println("Asynchronous task");
}
});
executorService.shutdownNow();
-
당신은 몇 가지 코드를 표시해야합니다. 다음을보십시오 : https://stackoverflow.com/help/mcve –
'스레드를 닫을 필요는 없습니다.' 소켓 *을 닫아야합니다. 그러면 스레드가 종료됩니다. 이것은 단지 데이터 구조 문제 일 뿐이며 여기서 대답 할 질문은 없습니다. – EJP