내가 알고 싶은 것은 우아한 방법으로 java.util.concurrent.Executor 작업을 중지하는 방법이 있거나 우리는 하나의 계층 인 java.util.concurrent.ExecutorService를 사용해야합니다. 위의 java.util.concurrent.Executor (java.util.concurrent.ExecutorService에는 셧다운을위한 API가있다)?java.util.concurrent.Executor 작업을 중단하는 방법
package com.example;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
public class ExecutorTaskExample {
public static void main(String[] args) {
Executor executor = Executors.newFixedThreadPool(5);
for(int i=0; i<10; i++){
ThreadTask task = new ThreadTask();
task.setTaskName("task_"+i);
executor.execute(task);
}
System.out.println("Program Completed");
}
}
class ThreadTask implements Runnable{
private String taskName;
@Override
public void run(){
System.out.println("Task: "+this.getTaskName()+"processed by "+Thread.currentThread().getName());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
}
ExecutorService 인터페이스가 Executor 인터페이스 위에 추가되어 스레드 수명주기 관리를 처리하는 것처럼 보입니다. –