(2) -Executors 네 개의 스레드 풀을 제공하는 스레드 풀

 

1. 왜 사용하지 실행자 만들고 네 개의 스레드 풀 스레드 풀을 제공

알리바바 개방 매뉴얼 작성 :

4 . [강제] 스레드 풀 집행 인은 만들 수 없습니다 만, ThreadPoolExecutor입니다 방법으로,이 방법은 학생들이 자원 고갈의 위험을 방지하기 위해, 더 명시 적으로 운영 규칙 스레드 풀을 작성할 수 있습니다. 
개요 : 다음 실행자 단점 스레드 풀 개체 반환 
. 1 )과 FixedThreadPool SingleThreadPool : 이에 OOM 일으키는 다수의 요청 누적 수는 Integer.MAX_VALUE 허용 요청 큐 길이.
2 ) 및 CachedThreadPool ScheduledThreadPool는 : OOM를 생성 스레드를 다수 작성할 수 있고, 스레드의 수에 Integer.MAX_VALUE를 생성 할 수있다.

2. 공정 생성

그의 원리를 파악하는 집행 인은 스레드 풀을 만들어 사용하지만, 여전히이 권장되지 않는다.

공용  정적 (ExecutorService를 인 newFixedThreadPool INT nThreads) {
         돌아가  새로운 ThreadPoolExecutor에가 (nThreads, nThreads,
                                       0L , TimeUnit.MILLISECONDS,
                                       새로운 에 LinkedBlockingQueue <Runnable를> ()); 
    }
공용  정적 ExecutorService를 newSingleThreadExecutor는 () {
         돌아가  새로운 FinalizableDelegatedExecutorService 
            ( 새로운 ThreadPoolExecutor에 ( 1 , 1 ,
                                     0L , TimeUnit.MILLISECONDS,
                                     새로운 에 LinkedBlockingQueue <Runnable를> ())); 
    }

참고 :

  1. 핵심 = 최대 스레드 풀 스레드 풀 (임시직 근로자를 고용하지)

  2.LinkedBlockingQueue은 FIFO 큐에있어서, 상기 큐에 Integer.MAX_VALUE 최대 인

공용  정적 ExecutorService를 newCachedThreadPool는 () {
         돌아가  새로운 ThreadPoolExecutor에가 ( 0 , Integer.MAX_VALUE를,
                                       60L , TimeUnit.SECONDS,
                                       새로운 SynchronousQueue는 <Runnable를> ()); 
    }

참고 :

  1. 더 핵심 스레드 풀, 만 최대 스레드 풀 (모든 작업이 모두 기각, 본격적인 여부에 이루어졌다, 일 임시 근로자를 고용)이 없다

  2. 최대 스레드 풀에 Integer.MAX_VALUE

  3.SynchronousQueue는 두 개의 스레드가있는 경우, 가지고 기다릴 경우 대기열이 두을 절약 할 수 있습니다 걸릴 대기 큐에 저장 될 수없는, 즉, 각 풋이 걸릴 기다릴 필요가있는 블록 큐입니다.

공개 로 스케줄 ( INT corePoolSize를) { 
        슈퍼 (corePoolSize를는 Integer.MAX_VALUE, 0 나노초,
               새로운 DelayedWorkQueue ()); 
    }

참고 :

  1. 최대 스레드 풀에 Integer.MAX_VALUE

  2. 쓰레드 풀 아직 이해 지연되지

추천

출처www.cnblogs.com/SmilingEye/p/11751302.html