프로그램을 실행하면 하나의 동작을 할수있지만 동작을 여러번 할 수 있도록 하는 것이 쓰레드이다.


자바에서는 Thread를 상속받거나 Runnable 인터페이스로 구현하는 방법도 존재한다.


public class 클래스명 extends Thread

public class 클래스명 implements Runnable


공통적으로 쓰레드를 구동하였을때 동작하는 부분은 run()메쏘드 안에 넣어서 사용한다.

그리고 쓰레드를 구동하는데는 start()메소드를 사용하고 한번 start메쏘드를 사용하면 그 쓰레드는 더이상 사용할 수 없게 된다.

(Thread를 사용했을 때는 run() 메쏘드를 오버라이딩 한것이고 Runnable 인터페이스를 사용할때는 추상클래스에서 구현한 것이다.)


객체를 생성할 때는 Thread a = new "쓰레드로 구현된 클래스의 생성자" 로 할수도 있고

"쓰레드가 구현된 클래스" a = new "쓰레드가 구현된 클래스의 생성자"로 할수도있다.(다른 메소드나 맴버변수 접근가능)

인터페이스로 구현된 쓰레드는 "Runnable로 구현된 클래스명" = new Thread(new "Runnable로 구현된 클래스 생성자") 로 하면된다.


start()메소드를 사용하여 객체인 쓰레드를 구동시키면 그 쓰레드가 끝났을때 다시 start()메소드를 써도 다시 시작되지않고 새로 객체로만들어서 써야합니다

+ Recent posts