쓰레드를 이용하려면 2가지방법중에서 선택해야 하는데 2가지방법 전부 소개할예정입니다.

    //1. Thread 클레스 상속
    public class ThreadTest1 extends Thread{
    	
    	
    	/*
    	 	Thread를 이용할수있는 방법
    	 	1. class Thread 상속
    	 	스레드 구현코드는 run()에 구현하면 된다.
    	 	.start() -> 스레드에 시작하면된다.
    	 	
    	 	JVM이 스레드 스케쥴러에 시작요청을하게된다.
    	 	우리가 스레드를 통제하수있는게아니라 스레드스케쥴러에 요청하는것
    	 	
    	 	2. interface Runnable
    	 	2.run()오버라이딩
    	 	3. thred상속
    	 	4. 
    	 */
    	String title;
    	public ThreadTest1(String title) {
    		this.title = title;
    	}
    	public ThreadTest1() {}
    	
    	//2.run()메소드 오버라이딩
    	public void run() {
    		for(int i=1;; i++) {
    			System.out.println(title +"=" + i);
    			try {Thread.sleep(500);}catch(Exception e) {}
    		}
    	}
    
    	public static void main(String[] args) {
    		ThreadTest1 tt1 =new ThreadTest1("첫번쨰 스레드");
    		ThreadTest1 tt2 =new ThreadTest1("둘번쨰 스레드"); 
    
    		//3.스레드 등록
    		tt1.start();
    		tt2.start();
    
    
    	}
    
    }
    
    //1. Runnalbe 인터페이스 상속
    public class ThreadTest2 implements Runnable{
    	/*
    	 	스레드를 상속받는 두번쨰방법
    	 	2. interface Runnable
    	 	2-1.run()오버라이딩
    	 	2-2. thred상속
    	 	2-3. 
    	 */
    	String title;
    	
    	public ThreadTest2() {
    	}
    	public ThreadTest2(String title) {
    		this.title = title;
    	}
    	
    	//2. 스레드 구현 코드를 run()에 구현한다.
    	public void run() {
    		int i=1;
    		while(true) {
    			System.out.printf("%s ->>i = %d\n", title, i++);
    			try {Thread.sleep(1000);}catch(Exception e) {}
    		}
    	}
    
    	public static void main(String[] args) {
    		ThreadTest2 tt1 = new ThreadTest2("첫번째 스레드");
    		ThreadTest2 tt2 = new ThreadTest2("두번째 스레드");
    		ThreadTest2 tt3 = new ThreadTest2("세번째 스레드");
    		
    		Thread t1 = new Thread(tt1);
    		Thread t2 = new Thread(tt2);
    		Thread t3 = new Thread(tt3);
    		
    		t1.start();
    		t2.start();
    		t3.start();
    
    	}
    
    }
    
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기