Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AWS
- Java
- ajax
- cache
- socket
- Linux
- javascript
- mybatis
- 네트워크
- Lombok
- Elk
- NoSQL
- r
- Heap
- html
- redis
- github
- git
- 데이터통신
- VCS
- spring
- mongodb
- reactor
- Static
- libuv
- network
- effective
- HTTP
- nodejs
- reactive
Archives
- Today
- Total
빨간색코딩
javax.swing.Timer 로 이벤트 반복 본문
학교애들 알려주던거 기록해둔다ㅋㅋ Thread.sleep(1000); 이 이해안된다고!?
참조문서: http://docs.oracle.com/javase/8/docs/api/javax/swing/Timer.html
1. Timer 클래스의 생성자
Timer(int delay, ActionListener listener)
delay : 초기 지연 후에 listener를 설정된 밀리세컨드마다 호출한다.
listener : 호출될 이벤트
2. 소스
이다.
3. 실행결과
메인쓰레드 START
반복문0
반복문1
반복문2
1번째 호출: Sun Mar 19 00:23:14 KST 2017
반복문3
반복문4
2번째 호출: Sun Mar 19 00:23:16 KST 2017
반복문5
반복문6
3번째 호출: Sun Mar 19 00:23:18 KST 2017
반복문7
반복문8
4번째 호출: Sun Mar 19 00:23:20 KST 2017
반복문9
메인쓰레드 END
5번째 호출: Sun Mar 19 00:23:22 KST 2017
4. 해석
타이머가 2초 후에 2초마다 이벤트를 호출해주고 있고 N번째호출이 찍힌다. 저 for문 안에 Thread.sleep(1000); 이 있는 이유는 타이머 객체는 메인쓰레드가 끝나면 자원이 반납되기 때문에, 메인쓰레드를 지연시키는 거다.
만약 메인 쓰레드가 살아있는데 타이머를 끝내고싶으면 t.stop()을 쓰면 된다.
'Java' 카테고리의 다른 글
Collections 프레임워크 (0) | 2017.07.04 |
---|---|
cui로만 oracle java8 설치하기 (0) | 2017.05.26 |
JVM 아키텍처 (0) | 2017.05.24 |
이클립스 오류 java was started but returned exit code=-805306369 (0) | 2017.03.23 |
어노테이션(Annotation) (0) | 2016.12.24 |
Comments