자바에 Async를 공부하면서 @Async를 호출하고 내부 서비스에 다른 함수를 호출하면 동기식으로 바뀐다는 걸 본적이 있다.
그래서 다음과 같이 테스트를 해봤다.
package com.example.async.test.service;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@Service
public class TestService {
@Async
public void asyncPrint(int value) {
//System.out.println("value : " + value);
asyncPrint2(value);
//asyncPrint3(value);
}
private void asyncPrint2(int value) {
System.out.println("value : " + value);
}
public void asyncPrint3(int value) {
System.out.println("value : " + value);
}
}
결과부터 말하자면 private이든 public이든 @Async가 호출하면 비동기식으로 처리된다.
JDK 1.8에 8버전 스프리부트 2.3.5.RELEASE에서 테스트한 결과 임.
'Java' 카테고리의 다른 글
자바 외부 dll 연동하기 opencv (0) | 2021.01.20 |
---|---|
자바 Async3 (0) | 2020.11.08 |
자바 Async1 (0) | 2020.11.08 |
자바 Callback (0) | 2020.11.03 |
자바 ExecutorService3(Callable) (0) | 2020.11.03 |