자바 다 중 스 레 드 (6) 스 레 드 풀
개인 적 으로 주요 원인 은 짧 은 시간 내 에 처리 해 야 할 임무 의 수량 이 매우 많다 는 것 이다.
스 레 드 탱크 사용 의 장점:
1. 스 레 드 를 만 들 고 소각 하 는 데 걸 리 는 시간 과 시스템 자원 의 비용 을 줄인다.
2. 스 레 드 탱크 를 사용 하지 않 으 면 시스템 이 대량의 스 레 드 를 만 들 고 시스템 메모리 가 소 모 될 수 있 습 니 다.
다음은 자바 자체 스 레 드 탱크 입 니 다.
1、newFixedThreadPool 지정 한 작업 스 레 드 수량의 스 레 드 풀 을 만 듭 니 다.
작업 을 제출 할 때마다 작업 스 레 드 를 만 듭 니 다. 작업 스 레 드 수가 스 레 드 탱크 의 초기 최대 수 에 도달 하면 제출 한 작업 을 풀 대기 열 에 저장 합 니 다.
2. new Cached ThreadPool 은 캐 시 가능 한 스 레 드 풀 을 만 듭 니 다.
이런 유형의 스 레 드 탱크 의 특징 은:
1). 작업 스 레 드 의 생 성 수량 은 거의 제한 이 없습니다. (사실은 제한 이 있 습 니 다. 수 는 Interger. MAX VALUE) 이렇게 하면 스 레 드 탱크 에 스 레 드 를 유연 하 게 추가 할 수 있 습 니 다.
2). 스 레 드 탱크 에 작업 을 오래 제출 하지 않 으 면 작업 스 레 드 가 지정 한 시간 (기본 값 은 1 분) 이 남 으 면 이 작업 스 레 드 는 자동 으로 종 료 됩 니 다.종료 후 새로운 작업 을 제출 하면 스 레 드 탱크 에서 작업 스 레 드 를 다시 만 듭 니 다.
3. new Single ThreadExecutor 는 단일 라인 화 된 Executor 를 만 듭 니 다. 즉, 유일한 작업 자 스 레 드 만 만들어 서 임 무 를 수행 합 니 다. 이 스 레 드 가 이상 하 게 끝나 면 다른 하 나 를 대체 하여 순 서 를 수행 할 수 있 습 니 다. (이것 이 특색 이 라 고 생각 합 니 다)
단일 작업 스 레 드 의 가장 큰 특징 은 각 임 무 를 순서대로 수행 할 수 있 고 주어진 시간 에 여러 개의 스 레 드 가 활동 하지 않 는 다 는 것 이다.
요약:
1. Fixed ThreadPool 은 전형 적 이 고 우수한 스 레 드 풀 로 스 레 드 풀 은 프로그램 효율 을 향상 시 키 고 스 레 드 를 만 들 때 소모 하 는 비용 을 절약 하 는 장점 을 가진다.그러나 스 레 드 탱크 가 비어 있 을 때, 즉 스 레 드 탱크 에 실행 가능 한 작업 이 없 을 때, 작업 스 레 드 를 방출 하지 않 고, 일정한 시스템 자원 을 차지 합 니 다. 2. cached ThreadPool 의 특징 은 온라인 스 레 드 풀 이 비어 있 을 때, 즉 스 레 드 풀 에 실행 가능 한 작업 이 없 을 때 작업 스 레 드 를 방출 하여 작업 스 레 드 가 차지 하 는 자원 을 방출 하 는 것 입 니 다.그러나 새로운 작업 이 발생 했 을 때 새로운 작업 스 레 드 를 만 들 고 일정한 시스템 비용 을 지불해 야 합 니 다.또한, Cached ThreadPool 을 사용 할 때 작업 의 수량 을 조절 하 는 데 주의해 야 합 니 다. 그렇지 않 으 면 대량의 스 레 드 가 동시에 실행 되 기 때문에 시스템 이 마 비 될 수 있 습 니 다.
예:
public class ThreadPoolTest {
public static void main(String[] args)
{
ExecutorService pool= Executors.newFixedThreadPool(6);
// ,
for(int i=0;i<10;i++)
{
final int taskId=i;
// ,
pool.submit(new Runnable() {
@Override
public void run() {
for(int i=0;i<5;i++)
{
System.out.println(Thread.currentThread()+" "+taskId+" "+i);
}
}
});
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 스 레 드 탱크 와 다섯 가지 상용 스 레 드 탱크 정책 사용 및 분석무한 대기 열, 경계 대기 열 과 동기 화 전환 이 있 습 니 다.아래 문장에서 상세 하 게 논술 할 것 이다.매개 변수 에서 볼 수 있 듯 이 이 대기 열 은 Runnable 인 터 페 이 스 를 실현 하 는 작업...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.