JAVA 중앙 선 탱크 의 간단 한 사용

1643 단어 자바
예 를 들 어 현재 10 개의 스 레 드 가 있 지만 매번 3 개의 스 레 드 만 실행 하고 싶 습 니 다. 이 3 개의 스 레 드 중 하 나 를 실행 한 후에 네 번 째 스 레 드 를 계속 보충 합 니 다.이런 상황 은 스 레 드 탱크 를 사용 하여 해결 할 수 있 습 니 다. 스 레 드 탱크 는 사용 하기에 도 상당히 간단 합 니 다. 믿 지 않 습 니 다. 보 세 요.
package com.demo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadPool {    
    
    private int threadCount = 10;
    
    private int threadpoolCount = 3;
    
    public void threadPoolControl() {        
        ThreadObject[] et = new ThreadObject[threadCount];        
        ExecutorService service = Executors.newFixedThreadPool(threadpoolCount);
        Collection<ThreadObject> c = new ArrayList<ThreadObject>();
        for (int i = 0; i < threadCount; i++) {    
            et[i] = new ThreadObject();            
            c.add(et[i]);
        }
        try {
            service.invokeAll(c);
            service.shutdown();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    
}

 
 게다가 ThreadObject 류 는 주로 스 레 드 의 구체 적 인 실현 방법 입 니 다.
package com.demo;

import java.util.concurrent.Callable;

public class ThreadObject implements Callable<Object>{		
	

	public Object call() throws Exception {
		//do something......
		return null;
	}

		
	
}

좋은 웹페이지 즐겨찾기