써먹는 웹개발
[Java] Runnable 인터페이스를 사용하는 이유 본문
728x90
반응형
Java에서 Runnable 인터페이스를 사용하는 이유는 다양합니다. Runnable은 스레드를 생성하고 실행하기 위한 인터페이스로, 다음과 같은 이점이 있습니다:
- 스레드 분리 (Thread Separation): Runnable을 사용하면 코드를 별도의 스레드로 분리할 수 있습니다. 이는 프로그램의 성능을 향상시키고 여러 작업을 병렬로 처리할 수 있도록 합니다.
- 유연성 (Flexibility): Runnable을 구현하는 클래스는 다른 클래스를 확장할 수 있고, 여러 인터페이스를 구현할 수 있습니다. 이는 Java에서 다중 상속이 불가능하므로 인터페이스를 활용하여 유연성을 높일 수 있습니다.
- 쓰레드 풀 (Thread Pool) 사용: Runnable을 사용하면 쓰레드 풀과 함께 사용할 수 있습니다. 쓰레드 풀은 재사용 가능한 스레드를 효과적으로 관리하여 애플리케이션의 성능을 개선합니다.
- 동시성 관리: Runnable을 이용하여 여러 작업을 동시에 실행할 때, 스레드 동기화 및 관리를 쉽게 할 수 있습니다. Java에서는 synchronized 키워드나 Lock 인터페이스 등을 사용하여 스레드 간의 동기화를 수행할 수 있습니다.
- 콜백(Callback) 구현: Runnable은 주로 백그라운드에서 실행되는 작업을 구현할 때 활용됩니다. 즉, 다른 스레드에서 수행될 코드를 정의할 수 있습니다.
간단한 예제로 Runnable을 사용하는 방법을 살펴보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class MyRunnable implements Runnable {
@Override
public void run() {
// 스레드에서 실행될 코드 작성
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getId() + " Value " + i);
}
}
public static void main(String[] args) {
// Runnable 구현체를 이용하여 스레드 생성 및 실행
Thread thread1 = new Thread(new MyRunnable());
Thread thread2 = new Thread(new MyRunnable());
thread1.start();
thread2.start();
}
}
|
cs |
이 코드에서 MyRunnable은 Runnable 인터페이스를 구현하고 있습니다. main 메서드에서는 이를 이용하여 두 개의 스레드를 생성하고 실행하고 있습니다.
출처 : ChatGPT
728x90
반응형
'웹개발 > Java & Jsp' 카테고리의 다른 글
[Java] '오류: 기본 클래스 Main.java을(를) 찾거나 로드할 수 없습니다.' 해결방법 (0) | 2024.01.02 |
---|---|
[java] int를 안쓰고 BigDecimal을 쓰는 이유 (2) | 2023.12.06 |
[Java] 리눅스 curl 명령어를 Java 소스로 변경 (0) | 2023.11.17 |
[Java] OTP용 6자리 인증키 생성 (0) | 2023.10.31 |
[Jsp] style 서버에 적용 안되는 현상 수정 (0) | 2023.10.27 |
Comments