쓰레드의 구현과 실행

양성빈·2022년 8월 12일
post-thumbnail

참고
자바의 정석

쓰레드의 구현과 실행

쓰레드를 구현하는 방법은 Thread 클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법 총 2가지가 존재한다. 2가지 방법중 어느 방법을 써도 상관은 없지만 Thread 클래스를 상속받을 경우 다른 클래스를 상속받지 못하므로, Runnable 인터페이스를 구현하는 방법이 더 많이 사용된다.

Runnable 인터페이스를 구현하는 방법은 재사용성이 높고 코드의 일관성을 유지할 수 있기 때문에 보다 객체지향적인 방법이라 할 수 있다.

  1. Thread 클래스를 상속받는 방법
class MyThread extends Thread {
	public void run() {}
}
  1. Runnable 인터페이스를 구현하는 방법
class MyThread implements Runnable {
	public void run() {}
}

🙋🏻 Thread 클래스 핵심 메서드

static Thread currentThread() // 현재 실행중인 쓰레드의 참조를 반환한다.
String getName() // 쓰레드의 이름을 반환한다.

쓰레드의 실행 - start()

start() 메서드를 호출해야만 쓰레드가 실행된다. 사실은 start() 메서드를 호출되었으면 바로 실행하는것이 아니라 실행대기 상태가 되었다가 자신의 차례가 되면 그 때 실행된다. 또한 한번 실행이 종료된 쓰레드는 다시 실행할 수 없다. 즉, start() 메서드는 한번만 호출된다는 것이다. 2번이상 호출하면 IllegalThreadStateException이 발생한다.

profile
모든 것을 즐길줄 아는 개발자입니다!

0개의 댓글