Java 스레드에 매개변수 전달
Java에서 스레드는 Runnable 인터페이스를 구현하여 생성됩니다. 기본적으로 Runnable 개체는 인수를 사용하지 않습니다. 그러나 매개변수를 스레드에 전달해야 하는 경우 래퍼 클래스 또는 익명 클래스라는 두 가지 전략이 있습니다.
래퍼 클래스
매개변수를 스레드에 전달하는 한 가지 방법 스레드는 래퍼 클래스를 사용하는 것입니다. 여기에는 Runnable 인터페이스를 구현하고 해당 생성자에서 원하는 매개변수를 허용하는 클래스를 생성하는 작업이 포함됩니다. 예는 다음과 같습니다.
public class ParameterizedRunnable implements Runnable {
private final Object parameter;
public ParameterizedRunnable(Object parameter) {
this.parameter = parameter;
}
public void run() {
// Use the passed parameter here
}
}
그런 다음 이 클래스를 사용하여 스레드를 생성하고 스레드에 매개변수를 전달할 수 있습니다.
Runnable runnable = new ParameterizedRunnable(myParameter);
new Thread(runnable).start();
익명 클래스
익명 클래스를 사용하여 매개변수를 스레드에 전달할 수도 있습니다. 익명 클래스는 동시에 정의되고 인스턴스화되는 클래스입니다. 다음은 스레드에 매개변수를 전달하기 위해 익명 클래스를 사용하는 예입니다:
Thread thread = new Thread(() -> {
// Use the passed parameter here
}, myParameter);
thread.start();
이 예제에서 Thread 생성자에 전달된 람다 식은 Runnable 인터페이스를 구현하고 myParameter를 해당 매개 변수로 받는 익명 클래스를 정의합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3