1)java.lang.thread 클래스 사용

public class ThreadEx extends Thread {

	public void run() {
		while(true){
			try {
			Thread.sleep(1000);
			}catch(InterruptedException e) {
				e.printStackTrace();
			}
 			System.out.println("쓰레드 테스트..");
 		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ThreadEx thread = new ThreadEx();
		thread.start();
		System.out.println("main 실행");

	}

}

이 코드는 쓰레드 사용법 중 java.lang.Thread 클래스를 사용한 코드이다. 

우선 extends Thread로 스레드를 상속받고 쓰레드를 사용하고 싶은 곳에 run()메소드로 오버라이딩을 한다.

그 후 해당 클래스 인스턴스를 생성하고 클래스 객체의 start()메소드로 호출한다.

 

여기서 Thread.sleep(1000)은 스레드를 잠시 일시 중단시키는 메서드인데 1000은 1초를 나타낸다.

이렇게 해서 코드를 실행시키게 되면 run메소드에 있는 "쓰레드 테스트.."가 1초 간격으로 계속 출력된다.


2. Runnable 인터페이스 사용

package Thread;

public class ThreadEx3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Thread thread = new Thread(new Runnable() {
			public void run() {
				while(true) {
					try{
						Thread.sleep(100);
					}catch(InterruptedException e) {
						e.printStackTrace();
					}
					System.out.println("실행단위");
				}
			}
		});
		thread.start();
	}
}

Runnable 인터페이스를 구현한 클래스를 정의하고 구현하고 싶은 코드를 run() 메소드 안으로 넣는다. 

클래스 객체를 Thread클래스 생성자의 매개변수로 넘겨서 새로운 스레드 객체를 만들고 그 객체에서 start()메소드를 호출한다. 

+ Recent posts