foxpacking

Programming Lessons

Java 언어 Korean

Java 총 정리[90. 쓰레드]

쓰레드

이전 걸음에서는 람다식에 대해서 배웠습니다. 최근에 상당히 많이 사용되는 형태이기 때문에 잘 이해를 하고 사용을 하면 좋을 것 같습니다. 이번 걸음의 내용은 상당히 어려운 내용이지만 그래도 모르는 것보다는 조금이라도 알고 있는 것이 개발을 하실 때 도움이 될 수 있습니다. 끝까지 함께 하시면 좋을 것 같습니다.

쓰레드에 대해서 이번 걸음에서 같이 보도록 하겠습니다. 쓰레드는 Java에만 있는 것은 아니고 프로그램에서 상당히 많이 쓰입니다. 원론적인 내용이나 사용 방법을 숙지한다면 프로그램을 개발을 하는데 분명히 도움이 될 수 있습니다.

쓰레드가 무엇인지, 구현과 실행 방법, 실행과 제어 마지막으로 쓰레드를 사용하는 장점과 단점에 대해서 이번 걸음에서 같이 보도록 하겠습니다. 이번 걸음은 쓰레드의 기본적인 내용을 이야기 하고 그 다음 걸음부터 쓰레드를 좀 더 자세히 공부를 하도록 하겠습니다.

쓰레드란?

쓰레드 사진
  • 쓰레드는 프로세스 내에서 실제로 작업을 수행하는 주체를 의미합니다.
  • 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다.
  • 멀티스레드 프로세스는 두 개 이상의 스레드를 가지는 프로세스를 말합니다.

※ 쓰레드는 프로그램의 실행 흐름 단위입니다.

쓰레드의 구현방법

  • Thread 클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법이 있습니다.
  • Runnable 인터페이스를 구현하는 방법이 일반적입니다.

쓰레드 예제

    
public class MyThread extends Thread {
    
    public void run() {
        System.out.println("This is a thread running!");
    }

    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start();
    }
}        
    
    
public class MyRunnable implements Runnable {
    
    public void run() {
        System.out.println("This is a Runnable running!");
    }

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

    

위와 같이 run Method에 실행 할 명령어를 정리해서 만들면 됩니다. Thread와 Runnable의 차이점은 Thread인 경우에는 바로 사용을 하면 되지만 Runnable 같은 경우에는 Thread 객체를 생성 할 때 Runnable 상속을 받은 객체를 넣어 사용을 하면 됩니다.

쓰레드 장단점

  • 쓰레드를 사용하면 응답성 향상, 자원 효율, 코드 간결성 등의 이점이 있습니다.
  • 쓰레드를 잘 못 사용을 하면 프로그램 전체의 문제를 야기를 할 수 있습니다.
  • 쓰레드를 구현을 하기가 어렵습니다.

단점도 있지만 장점인 속도 향상이 좋기 때문에 거의 모든 상용화 프로그램에는 쓰레드를 사용을 하고 있습니다.

Dolphin

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나