본문 바로가기
CODE/CodeKnowledge

[자바] 자바 스레드에 대해서 알아보기

by 솔리닉__ 2024. 1. 28.
반응형

자바에서 스레드(Thread) 이해하기

자바는 멀티태스킹을 효과적으로 처리하기 위해 멀티스레딩을 지원하는 언어입니다. 이 글에서는 자바의 스레드에 대해 간략하게 알아보고, 스레드를 구현하는 두 가지 주요 방법을 소개하겠습니다.

스레드란 무엇인가?

스레드는 프로그램의 실행 흐름입니다. 자바에서 한 프로세스 내에 여러 스레드를 동시에 실행시켜, 여러 작업을 동시에 처리할 수 있습니다. 이는 자원의 효율적 사용과 더 빠른 프로그램 실행을 가능하게 합니다.

자바에서 스레드 구현하기

자바에서 스레드를 구현하는 방법은 크게 두 가지입니다

  • Thread 클래스 확장

사용자 정의 클래스가 Thread 클래스를 상속받고, run 메소드를 오버라이드하여 스레드의 작업을 정의합니다.

public class MyThread extends Thread {
    public void run() {
        // 스레드 실행 코드
    }
}

 

    • Runnable 인터페이스 구현

Runnable 인터페이스를 구현하는 클래스를 정의하고, 이를 Thread 객체에 전달합니다. 이 방법은 클래스가 다른 클래스를 상속받는 경우에 유용합니다.

public class MyRunnable implements Runnable {
    public void run() {
        // 스레드 실행 코드
    }
}

Thread t = new Thread(new MyRunnable());

 

스레드를 시작하기 위해서는 Thread 객체의 start() 메소드를 호출합니다.

스레드의 동기화

스레드를 사용할 때는 동기화 문제를 고려해야 합니다. synchronized 키워드를 사용하여 한 시점에 하나의 스레드만이 특정 자원에 접근하도록 제한할 수 있습니다. 이는 여러 스레드가 동시에 같은 자원을 사용하려 할 때 발생할 수 있는 문제를 예방하는 데 중요합니다.

반응형

댓글