고정 스레드 수 newFixedThreadPool 스레드 풀 사용

18553 단어 Java 다중 스레드
10개의 작업을 수행하려면 다음과 같은 5개의 스레드를 지정해야 합니다.
public class Test {

    public static void main(String[] args) {
        ExecutorService executorService = Executors.newFixedThreadPool(5);
        try {
            for(int i=0;i<10;i++){
    //            executorService.execute(new TaskExecuteThread("taskid"+i,"modid"+i));
                Future future = executorService.submit(new TaskExecuteThread("taskid" + i, "modid" + i));
                if(future.get()==null){//  Future get  null,    
                    System.out.println("    "+"taskid" + i);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getCause().getMessage());
        }  finally {
            executorService.shutdown();
        }

    }
}

실제 작업 실행 클래스:
public class TaskExecuteThread extends Thread {

    private String taskid;
    private String modid;

    public TaskExecuteThread(String taskid,String modid){
        this.taskid=taskid;
        this.modid=modid;
    }

    @Override
    public void run() {
        try {
            System.out.println("    :"+Thread.currentThread().getName());
            System.out.println(taskid+modid);
            System.out.println("========================================");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }finally {
            
        }
    }
}

실행 결과:
    :pool-1-thread-1
taskid0modid0
========================================
    taskid0
    :pool-1-thread-2
taskid1modid1
========================================
    taskid1
    :pool-1-thread-3
taskid2modid2
========================================
    taskid2
    :pool-1-thread-4
taskid3modid3
========================================
    taskid3
    :pool-1-thread-5
taskid4modid4
========================================
    taskid4
    :pool-1-thread-1
taskid5modid5
========================================
    taskid5
    :pool-1-thread-2
taskid6modid6
========================================
    taskid6
    :pool-1-thread-3
taskid7modid7
========================================
    taskid7
    :pool-1-thread-4
taskid8modid8
========================================
    taskid8
    :pool-1-thread-5
taskid9modid9
========================================
    taskid9

좋은 웹페이지 즐겨찾기