Java의 스레드 풀은 무엇이고, 유형은 무엇이며, 기능은 무엇입니까? > 큐를 추가한 다음 스레드가 생성된 후 자동으로 이러한 작업을 시작합니다. 기본 우선 순위를 가지며 다중 스레드 아파트에 있습니다. 스레드가 관리 코드에서 유휴 상태인 경우 스레드 풀은 모든 프로세서를 계속 사용하기 위해 다른 작업자 스레드를 삽입합니다.
모든 스레드 풀이 항상 사용 중이지만 대기열에 보류 중인 작업이 있는 경우 스레드 풀은 잠시 후 최대 작업자 스레드 수를 초과하지 않습니다. 최대값을 초과하는 스레드는 큐에 들어갈 수 있지만 다른 스레드가 완료될 때까지 시작할 수 없습니다.Java 스레드 풀의 최상위 인터페이스는 Executor입니다. Executor는 스레드 풀이 아니라 스레드를 실행하기 위한 도구일 뿐이며 실제 스레드 풀은 ExecutorService입니다.
Java의 스레드 풀이란 무엇입니까?
1.newCachedThreadPool은 캐시 가능한 스레드 풀을 생성합니다.2.newFixedThreadPool은 고정 길이 스레드 풀을 생성합니다.
3.newScheduledThreadPool은 고정 길이 스레드 풀을 생성합니다.4.newSingleThreadExecutor는 단일 스레드 풀을 생성합니다다음은 하나씩 분석됩니다.
newCachedThreadPool, 은 스레드 수가 가변적이며 최대 스레드 수는 Integer.MAX_VALUE입니다. 이 숫자는 매우 큽니다. 스레드 풀 길이 처리 요구 사항이 초과되면 유휴 스레드를 유연하게 재활용할 수 있으며 재활용이 없으면 새 스레드가 생성됩니다. 그러나 스레드 풀의 유휴 스레드에는 시간 초과 제한이 있습니다. 유휴 스레드가 60초를 초과하면 재활용됩니다.
execute를 호출하면 이전에 구성된 스레드가 재사용됩니다(스레드가 사용 가능한 경우). 이 유형의 스레드 풀은 시간이 적게 소요되는 다수의 작업을 실행하는 데 더 적합합니다. 전체 스레드 풀이 유휴 상태이면 스레드 풀의 스레드가 시간 초과되어 중지됩니다.newFixedThreadPool
지정된 수의 작업자 스레드로 스레드 풀을 생성합니다. 작업이 제출될 때마다 스레드가 유휴 상태일 때 스레드 풀이 닫히지 않으면 재활용되지 않습니다. thread 숫자가 초기 최대 스레드 풀 수에 도달하면 제출된 작업이 풀 대기열에 저장됩니다(크기 제한 없음). newFixedThreadPool에는 코어 스레드만 있고 이러한 코어 스레드는 재활용되지 않으므로 외부 요청에 더 빠르게 응답할 수 있습니다.newScheduledThreadPool
핵심 스레드 수는 고정되어 있지만 비핵심 스레드 수는 무제한인 스레드 풀을 만듭니다. 비핵심 스레드는 유휴 상태가 되면 즉시 재활용됩니다. 아니면 정기적으로 하세요. 이러한 유형의 스레드 풀은 주로 예약된 작업과 고정된 기간으로 반복되는 작업을 실행하는 데 사용됩니다.newSingleThreadExecutor이 유형의 스레드 풀에는 내부에 단 하나의 코어 스레드가 있으며 제한되지 않은 대기열에서 스레드를 실행합니다. 이렇게 하면 이러한 작업 간의 스레드 동기화 문제를 처리할 필요가 없습니다. 실행은 순차적이며 주어진 시간에 하나 이상의 스레드가 활성화될 수 없습니다.
위 내용은 자바 스레드 풀이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!