[java] 자바 배치 프로세싱에서의 작업 복제 방법은 어떻게 되는가?
작업을 복제하려면 ExecutorService 인터페이스 또는 ThreadPoolExecutor 클래스를 사용하여 실행 가능한 작업을 스케줄링할 수 있습니다. 다음은 스레드 풀을 생성하고 작업을 복제하는 간단한 예제 코드입니다.
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class BatchProcessing {
public static void main(String[] args) {
// 스레드 풀 생성
ExecutorService executor = Executors.newFixedThreadPool(5);
// 작업 복제
for (int i = 0; i < 10; i++) {
Runnable task = new BatchTask("Task " + i);
executor.execute(task);
}
// 스레드 풀 종료
executor.shutdown();
}
}
class BatchTask implements Runnable {
private String taskName;
public BatchTask(String taskName) {
this.taskName = taskName;
}
@Override
public void run() {
System.out.println("Processing task: " + taskName);
}
}
위의 예제 코드에서는 ExecutorService를 사용하여 스레드 풀을 생성하고 병렬로 실행될 작업을 스케줄링합니다. 이를 통해 자바 배치 프로세싱에서의 작업 복제를 구현할 수 있습니다.
참고문헌:
- https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html
- https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html