コールバック関数は、非同期操作の完了後に呼び出される関数です。これにより、メインスレッドをブロックすることなく、長時間実行される操作を実行できます。コールバック関数は、次のようなさまざまな状況で役立ちます。
次に、コールバック関数を使用した簡単な 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 中国語 Web サイトの他の関連記事を参照してください。