자바 자체 Future 다 중 스 레 드 모드
일부 코드 만 붙 였 습 니 다:
정의 풀:
private static final ExecutorService worker = Executors.newFixedThreadPool(N);//
private static List<Future<?>> futureList = new ArrayList<Future<?>>();//
스 레 드 탱크 사용:
futureList.add(worker.submit(this));
끝 스 레 드:
// ( )
public static void cancel() {
for (Future<?> f : futureList) {
f.cancel(true);
}
}
주: Future 는 스 레 드 의 실행 결과 어음 입 니 다. Callable 방식 으로 실행 할 때 스 레 드 의 실행 결과 f. get () 을 얻 을 수 있 고 특정한 스 레 드 의 종료 와 실행 상 태 를 제어 할 수 있 습 니 다.
Runnable 방식 으로 실 행 될 때 결 과 는 비어 있 지만 스 레 드 를 제어 할 수 있 습 니 다.
보충:
스 레 드 의 인 터 럽 트 방법 을 호출 한 것 같 습 니 다. Thread. currentThread (). interrupt ();그러나 stop 방법 처럼 바로 하위 스 레 드 를 끝 내 는 것 이 아니 라 중 단 된 신 호 량 Thread. interrupted () 를 바 꾸 었 습 니 다. 막 힌 스 레 드 에 서 는 Interrupted Exception 이상 을 던 집 니 다. 그러나 막 히 지 않 는 조건 에서 스 레 드 는 계속 실 행 됩 니 다. 순환 중 에 스스로 신 호 량 을 판단 하여 이상 을 던 져 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.