java.util.Timer에 대한 Good Practice에 대한 내용으로 http://tech.puredanger.com 블로그에 있는 내용입니다.
그리고, http://tech.puredanger.com 블로그에 있는 내용의 댓글로 Timer를 사용하지 말고, ScheduledExecutorService를 사용하는 것이 좋다고 하네요.. 이유는 Timer(싱글 쓰레드)가 가지는 원천적인 문제를 해결하기 위해서라고 하네요.. 원본 내용이 짧기 때문에 읽어보세요.
ScheduledExecutorService의 간단한 예제는 http://www.java2s.com/Code/Java/Threads/Java1550newfeatureThreadSchedule.htm 를 참고하세요.. ^^
java.util.Timer의 schedule vs scheduleAtFixedRate에 대한 내용도 참고해 보세요. ^^
Two good rules of thumb for the use of Timer are:위의 내용을 요약하면, "가능한 데몬 쓰레드로 실행을 시키고 Timer에 이름을 줘서 쓰레드 덤프등을 통해서 분명하게 디버깅을 할 수 있도록 하자"로 파악을 하였습니다.
1. Always start your Timer as a daemon thread. By default, new Timer() and other constructors use a non-daemon thread which means that the Timer will stick around forever and prevent shutdown. That may be what you expect, but I doubt it.
2. Always name your Timer. That name is attached to the Timer background thread. That way, if you do something dumb, and look at a thread dump, it will be exceedingly obvious when you’ve started 500 FooBarCleanupThreads.
그리고, http://tech.puredanger.com 블로그에 있는 내용의 댓글로 Timer를 사용하지 말고, ScheduledExecutorService를 사용하는 것이 좋다고 하네요.. 이유는 Timer(싱글 쓰레드)가 가지는 원천적인 문제를 해결하기 위해서라고 하네요.. 원본 내용이 짧기 때문에 읽어보세요.
ScheduledExecutorService의 간단한 예제는 http://www.java2s.com/Code/Java/Threads/Java1550newfeatureThreadSchedule.htm 를 참고하세요.. ^^
java.util.Timer의 schedule vs scheduleAtFixedRate에 대한 내용도 참고해 보세요. ^^
'Java' 카테고리의 다른 글
| java synchronized keyword는 객체에 대한 lock 이죠?? (0) | 2009/10/19 |
|---|---|
| 한글 문자 확인하기.. (0) | 2009/09/01 |
| java.util.Timer 사용에 대한 좋은 원칙 (0) | 2009/07/13 |
| BufferedWriter를 이용한 가장 좋은 성능 방안에 대해서.. (0) | 2009/07/08 |
| java.util.Timer의 schedule vs scheduleAtFixedRate (2) | 2009/07/01 |