콜백 함수는 비동기 작업이 완료된 후 호출되는 함수입니다. 이를 통해 메인 스레드를 차단하지 않고 장기 실행 작업을 수행할 수 있습니다. 콜백 함수는 다음을 포함한 다양한 상황에서 유용합니다.
다음은 콜백 함수를 사용하는 간단한 Java 예입니다.
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class CallbackExample { public static void main(String[] args) { // 创建一个线程池 ExecutorService executorService = Executors.newFixedThreadPool(1); // 创建一个Callable任务 Callable<String> task = () -> { // 模拟一个长时间运行的操作 Thread.sleep(5000); // 返回结果 return "Hello, world!"; }; // 提交任务到线程池 Future<String> future = executorService.submit(task); // 注册一个回调函数 future.addCallback(new Callback<String>() { @Override public void onSuccess(String result) { // 任务成功完成时调用 System.out.println("Task completed successfully: " + result); } @Override public void onFailure(Throwable throwable) { // 任务失败时调用 System.out.println("Task failed: " + throwable.getMessage()); } }); // 关闭线程池 executorService.shutdown(); } }
이 예에서는 장기 실행 작업을 시뮬레이션하는 호출 가능 작업을 만듭니다. 그런 다음 작업을 스레드 풀에 제출하고 콜백 함수를 등록합니다. 작업이 완료되면 콜백 함수가 호출되고 결과가 인쇄됩니다.
콜백 함수를 사용하면 다음과 같은 많은 이점이 있습니다.
콜백 함수를 사용하면 다음과 같은 몇 가지 단점도 있습니다.
콜백 함수는 애플리케이션 성능, 확장성 및 코드 가독성을 향상시키는 데 사용할 수 있는 강력한 도구입니다. 그러나 코드 복잡성 증가와 콜백 지옥을 피하기 위해 콜백 함수를 사용할 때는 주의해야 합니다.
위 내용은 Java 콜백 함수의 실제 적용 시나리오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!