본문 바로가기

공부/컴퓨터

Thread 과 Runnable의 비교.

반응형
안녕하세요.
찬 입니다.


오랜만에 글을 쓰네요 ^^;

Thread와 Runnable를 하는데 어느것이 더 가벼울까..
아바타 채팅 소스를 보면서 잠시 생각해 보았습니다.


jpeg 포맷을 볼려고 했었는데.. 좀 어렵네요;;
영어도 제대로 안되고 ;; 그래서 ;; 참 ;;;


그래서. Thread를 상속 받은 MyThread와 Runnable를 구현하는 MyRunnable를 만들어서.
테스트(실행할) Main 클래스를 만들어서 실행 시켜본 결과입니다.


아래는 소스 전체 입니다.


MyThread.java
public class MyThread extends Thread {
}


MyRunnable.java
public class MyRunnable implements Runnable {
        public void run() {
        }
}



Main.java
public class Main {

        public static void main(String[] args) {
                int i;
                long start,end;
                start = System.currentTimeMillis();
                for ( i=0; i < 10000 ; i++) {
                        new MyThread();
                        // new MyRunnable();
                }
                end = System.currentTimeMillis();
                System.out.println("시작시간 : "+start);
                System.out.println(" 끝 시간 : "+end);
                System.out.println("걸린시간 : "+(end-start));
        }
}


MyThread를 만번 생성한 결과
시작시간 : 1063457792399
끝 시간 : 1063457793480
걸린시간 : 1081



MyRunnable를 만번 생성한 결과
시작시간 : 1063457754995
끝 시간 : 1063457755005
걸린시간 : 10



처음에는 1000번을 비교했는데.
Runnable을 생성했을때. 시간이 0 이 나와서 ;;;
(솔직히 만번 생성하는건 좀 말이 안되지만 ;; )


단순하게 제가 비교해 본 것으로는 약 100배의 속도 차이가 있네요.



제가 Thread 쪽을 잘 모르지만 단지 run() 쪽만 상관이 있다면.
Runnable을 구현하는 쪽이 좋지 않을까 싶습니다. ;;


( 큭 ;; 쓸데 없는것 가지고. 말하는 것 같지만.. )
( 암튼 .. 그냥 한번 비교 해 봤습니다~ ^^;; )


즐거운 하루 되세요~~!! ^^;
반응형