1
걸리는 시간 때문에 다른 스레드에서 실행할 메서드를 만들고 있습니다. 그러나 호출자에게 작업이 완료되고 성공했는지 알리고 자합니다. 그렇게하기 위해, 나는 아무것도 반환하지 않는 기능적 인터페이스가 필요하다. (나는 콜백 결과를 필요로하지 않는다.) 그리고 그것은 부울을 전달한다.void를 반환하고 부울 매개 변수를 전달하는 기능 인터페이스
예제 코드 :
public boolean send(Command command) {
try {
//long stuff
return true;
} catch(Exception ex) {
//logging error
return false;
}
}
public void sendAsync(Command command, MyCallback callback) {
new Thread(() -> {
boolean successful = send(command);
if(callback != null)
callback.call(successful);
}).start();
}
뭔가 같은 :
void call(boolean successful);
는 이미 자바에 존재인가, 아니면 내가 하나를 자신을해야합니까?
어떻게 당신은 무효 반환하는 경우 작업이 성공 알아? –
@JakeMiller 기능 인터페이스가 작업을 수행하고 있지 않습니다. 작업이 성공하고 실제 작업 후에 실행되는 경우에만보고합니다. – Winter
사용자가 직접 정의 할 수없는 것은 무엇입니까? 결과가 필요 없다면 왜 매개 변수가 있습니까? –