Executors 클래스를 이용한 멀티 스레드 실행 예제입니다.
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class SchedulerExecutorSample {
public static void main(String[] args) {
// scheduleAtFixedRate(실행가능객체, 지연시간, 주기, 단위)
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new TimeRunnable(), 0, 1, TimeUnit.SECONDS);
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new TimeRunnable(), 0, 2, TimeUnit.SECONDS);
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new TimeRunnable(), 0, 3, TimeUnit.SECONDS);
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new TimeRunnable(), 0, 4, TimeUnit.SECONDS);
}
}
class TimeRunnable extends Thread {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
@Override
public void run() {
System.out.printf("[%s] %s\n", Thread.currentThread().getName(), format.format(new Date(System.currentTimeMillis())));
}
}
반응형
'java' 카테고리의 다른 글
[Java] JVM 메모리 구조 및 옵션 (0) | 2019.06.04 |
---|---|
[java] 자바 가상 머신(JVM : Java Virtual Machine) (0) | 2019.06.03 |
[java] 스트림을 이용한 맵리듀스 워드카운트 예제 (0) | 2019.04.08 |
아파치 커먼즈(Apache Commons) 라이브러리 (0) | 2019.03.29 |
[오류] Comparison method violates its general contract! 예외 (2) | 2018.04.03 |