AVA - 쓰레드 (2)

2023 단어 JavaJava

쓰레드의 구현과 실행

  1. Thread클래스를 상속
class MyThread extends Thread{
	public void run () {
    	// Thread클래스의 run()을 오버라이딩
    }
}
  1. Runnable 인터페이스를 구현
class MyThread2 implements Runnable{
	public void run(){
    	//Runnable 인터페이스의 추상메서드 run()을 구현
    }
}
MyThread t1 = new MyThread();	//쓰레드의 생성
t1. start();					//쓰레드의 실행

/////////////////////////////////////////////

Runnable r = new MyThread2();
Thread t2 = new Thread(r);		//Thread(Runnable r)
//	Thread t2 = new Thread(new MyThread2());

t2.start();						//쓰레드의 실행
ex)

class Ex{
	public static void main(String args[])
    {
    	Thread1 t1 = new Thread1();
        
        Runnable r = new Thread2();
        Thread t2 = new Thread(r)	//생성자 Thread(Runnable target)
        
        t1.start();
        t2.start();
    }
}

class Thread1 extends Thread{
	public void run(){	//쓰레드가 수행할 작업을 작성
    	for(int i=0; i<5; i++)
        {
        	System.out.println(this.getName());	
            //조상인 Thread의 getName()을 호출
    	}
    }
}

class Thread2 implements Runnable{
	public void run(){
    	for(int i=0; i<5; i++)
        {
       		System.out.println(Thread.currentThread().getName());
            //Thread.currentThread() - 현재 실행중인 Thread를 반환한다.
        }
    }
}

쓰레드의 실행 - start()

쓰레드를 생성한 후에 start()를 호출해야 쓰레드가 작업을 시작한다.

	Thread1 t1 = new Thread1();	//쓰레드 t1을 생성한다.
    Thread2 t2 = new Thread2();	//쓰레드 t2를 생성한다.

	t1.start();		//쓰레드 t1을 실행시킨다.
	t2.start();		//쓰레드 t2를 실행시킨다.

start()와 run()

class ThreadTest{
	public static void main(String args[]){
    	MyThread t1 = new MyThread();	//생성
        t1.start();						//실행
    }
}

class MyThread extends Thread{
	publoc void run(){
    	// ...쓰레드 구현
    }
}

좋은 웹페이지 즐겨찾기