카테고리 없음

[JAVA] 221-16

codecodekode 2024. 10. 19. 13:09

다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.

class Car implements Runnable{
  int a;
  
  public void run(){
     system.out.println("Hello")
  }
}
  
public class Main{
  public static void main(String[] args){
    Thread t1 = new Thread(new ___());
    t1.start();
  }
}

1. 쓰레드 (Thread)

  • 쓰레드는 프로세스 내에서 실행되는 기본적인 작업 단위입니다. 즉, 쓰레드는 프로그램 내에서 실행되는 경량 프로세스라고 할 수 있습니다.
  • 하나의 프로세스 내에서 여러 쓰레드가 동시에 실행될 수 있으며, 이로 인해 멀티태스킹이 가능합니다. 각 쓰레드는 서로 독립적으로 실행됩니다.
  • 쓰레드는 CPU의 사용 효율성을 높이고, I/O 작업(파일 읽기/쓰기, 네트워크 통신 등)을 기다리는 동안 다른 작업을 수행할 수 있도록 해줍니다.

예시

  • 웹 브라우저는 여러 탭을 동시에 열 수 있습니다. 각 탭은 별도의 쓰레드로 실행되며, 이 덕분에 한 탭에서 긴 로딩이 발생해도 다른 탭을 사용할 수 있습니다.

2. Runnable 인터페이스

  • Java에서 쓰레드를 생성하려면 두 가지 방법이 있습니다:
    1. Thread 클래스를 상속하는 방법
    2. Runnable 인터페이스를 구현하는 방법
  • Runnable 인터페이스를 구현하는 경우, run() 메소드를 오버라이드하여 쓰레드에서 실행될 코드를 정의합니다. 이 run() 메소드는 쓰레드가 시작될 때 호출됩니다.

3. 왜 Car가 들어가야 하는가?

  • Car 클래스는 Runnable 인터페이스를 구현했기 때문에 쓰레드의 작업을 정의합니다.
  • Car 클래스의 인스턴스를 생성하면, 이 인스턴스는 쓰레드가 수행할 작업(즉, run() 메소드에 정의된 내용)을 포함하고 있습니다.
  • 여기서 new Car()는 Car 클래스의 인스턴스를 생성하는 코드입니다. 이 인스턴스는 Runnable 인터페이스를 구현하므로 쓰레드가 실행할 작업을 가지고 있습니다.
  • Thread 클래스의 생성자에 Runnable 객체(여기서는 Car 인스턴스)를 전달하여 새로운 쓰레드를 생성합니다.

요약

  1. 쓰레드는 프로그램 내에서 독립적으로 실행되는 경량 프로세스입니다. 여러 쓰레드가 동시에 실행될 수 있습니다.
  2. Runnable 인터페이스를 구현한 Car 클래스는 쓰레드가 수행할 작업을 정의하고, Car의 인스턴스를 생성함으로써 새로운 쓰레드를 만들 수 있습니다.
  3. new Car()는 쓰레드가 실행할 코드(즉, run() 메소드의 내용)를 포함한 객체를 생성하기 때문에 필수적입니다.