728x90

[스레드(Thread)]

Java에서 여러가지 일을 동시에 처리하기 위해 사용되는 것.

  • 실행 가능한 프로그램(.exe)이 실행되어 돌아가는 것을 프로세스라고 한다.
  • 프로그램을 실행하게 되면 하나의 프로세스가 수행된다.
  • 프로세스는 자원을 통해 실제로 작업을 수행하는 것을 스레드한다.
  • 프로세스는 여러개의 스레드가질 수 있다. 

즉, 스레드는 프로세스 안에서 실질적으로 작업을 실행하는 단위를 말한다.

 

[스레드 사용방법]

<Thread 클래스 상속>

public static void main(String[] args) {
    HelloThread thread = new HelloThread();
    hread.start();
}

class HelloThread extends Thread{
    public void run(){
        System.out.println("스레드야 안녕");
    }
}
  • Thread 클래스를 상속받은  클래스 만들기
  • run()을 오버라이드 하여 코드 구현
  • 생성한 클래스 객체 만들어서 스레드 사용하기

 

<Runnable 인터페이스>

public static void main(String[] args) {
    HelloThread hello = new HelloThread();
    Thread thread = new Thread(hello);
    thread.start();
}

class HelloThread implements Runnable{
    @Override
    public void run(){
        System.out.println("스레드야 안녕");
    }
}
  • Runnable 인터페이스를 구현한 클래스 만들기
  • run()을 오버라이드 하여 코드 구현
  • 만든 클래스 객체 생성하고, Thread 객체 만들어서 스레드 사용하기

Runnable 인터페이스를 사용하는 이유는 상속은 단일 상속만 가능하지만,

인터페이스는 여러개의 상속이 가능하기 때문에 사용한다. 

728x90

+ Recent posts