그래서 여기에 기존 대답을 살펴본 결과 ExecutorService과 Future을 조합하여 메서드에 TimeUnit으로 시간 제한을 설정했습니다.올바른 방법으로 Java에서 메서드에 대한 시간 제한을 설정하십시오
하지만 호출자 클래스가 인터페이스를 사용한다는 것을 의미하는 내 서비스 구현 내부의 메서드에서 시간 초과를 설정하려고합니다.
그래서이 메소드가 동일한 스레드에서 실행되기를 원하기 때문에 서비스 구현에서 호출 가능 구현을 피하고 싶습니다.
주어진 방법으로 타임 아웃을 설정하거나 타임 아웃을 시뮬레이션하는 다른 방법이 있습니까?
"시간 초과"란 무엇입니까? 일정 시간이 지난 후에 작업을 종료한다는 의미라면 별도의 스레드에서 작업을 실행하지 않고는 작업을 수행 할 수 없습니다. 물론 코드의 루프에 타이머 검사를 포함시킬 수 있으며 제한 시간이 초과되면 예외를 throw 할 수 있지만 "의심스러운"코드 부분에는 상당한 "협력"이 필요합니다. –
안녕 Hot Licks는 내가 말한 것과 정확히 일치한다. 가난한 문제 설명을 유감스럽게 생각한다. –