2019.01.21 배치처리
2019. 1. 22. 09:17ㆍJAVA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | package com.example; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Test2 { public static void main(String[] args) { System.out.println("--- 프로그램 시작 ---"); // 특정 날짜, 시각마다 반복된 작업 처리 // -> 배치처리 (Batch Processing) // java.util.Timer, TimerTask 클래스 // -> 날짜와 스레드 클래스 조합으로 구현됨. Timer timer = new Timer(); // 이 메소드를 호출하는 시점부터 delay 지연시간 이후에 // period 시간마다 task를 반복 처리 // timer.scheduleAtFixedRate(task, delay, period); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try { date = sdf.parse("2019-01-21 12:38:00"); } catch (ParseException e) { e.printStackTrace(); } // date 날짜시각부터 3초마다 task를 반복처리 TimerTask timerTask = new TimerTask() { @Override public void run() { System.out.println("콘솔 출력"); } }; timer.scheduleAtFixedRate(timerTask, date, 3000); // 호출시점부터 2초이후 1초마다 반복작업 timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { System.out.println("콘솔 출력 2"); } }, 2000, 1000); // 60초(1분) 이후에 타이머 작업 종료 try { Thread.sleep(1000*60); } catch (InterruptedException e) { e.printStackTrace(); } // timerTask.cancel(); // 특정 태스크만 종료 // 타이머 태스크는 취소이후 재사용 불가능. // 새로운 타이머태스크 생성 후 스케줄 등록해서 사용해야함. timer.cancel(); // 타이머 종료 // 타이머 객체를 종료시키면 // 기 등록된 모든 TimerTask들도 함께 종료됨. System.out.println("-- 프로그램 종료 --"); } // main() } | cs |
'JAVA' 카테고리의 다른 글
2018.01.25 JDBC: 데이터베이스 연결 (0) | 2019.01.25 |
---|---|
2019.01.21 예제) 데이터 입력 및 데이터 검색(Map,List) (0) | 2019.01.22 |
2019.01.18 파일 읽어오기 (0) | 2019.01.18 |
2019.01.15 JavaFX에서 키보드 동작(액션) (1) | 2019.01.15 |
2019.01.14 JavaFx 활용하기 (0) | 2019.01.14 |