스레드 풀은 처리 중에 작업을 대기열에 추가한 다음 스레드가 생성된 후 자동으로 이러한 작업을 시작하는 멀티스레딩 처리의 한 형태입니다. 스레드 풀 스레드는 백그라운드 스레드입니다. 각 스레드는 기본 스택 크기를 사용하고 기본 우선순위로 실행되며 다중 스레드 아파트 에 있습니다.
스레드가 관리 코드에서 유휴 상태인 경우(예: 누군가를 기다리는 중) 이벤트) 스레드 풀은 모든 프로세서를 계속 사용하기 위해 다른 작업자 스레드를 삽입합니다.
모든 스레드 풀 스레드가 항상 사용 중이지만 대기열에 보류 중인 작업이 있는 경우 스레드 풀은 잠시 후 다른 작업자 스레드를 생성하지만 스레드 수가 최대값을 초과하지 않습니다. 최대값을 초과하는 스레드는 큐에 들어갈 수 있지만 다른 스레드가 완료될 때까지 시작되지 않습니다. (추천 학습: javacourse)
Java에서 4개의 스레드 풀 사용:
newCachedThreadPool
스레드 풀 길이가 처리 요구 사항을 초과하는 경우 유휴 스레드를 유연하게 재활용할 수 있습니다. . 재활용이 없으면 새 스레드를 만듭니다. 샘플 코드는 다음과 같습니다:package test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolExecutorTest { public static void main(String[] args) { ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); for (int i = 0; i < 10; i++) { final int index = i; try { Thread.sleep(index * 1000); } catch (InterruptedException e) { e.printStackTrace(); } cachedThreadPool.execute(new Runnable() { public void run() { System.out.println(index); } }); } } }
위 내용은 Java의 스레드 풀이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!