Java コールバック原則の実装コード共有 (図)
CallbackFunctionは、名前が示すように、コールバックに使用される関数です。コールバック関数は単なる機能の断片であり、コールバック関数呼び出し規則に従ってユーザーによって実装される関数です。コールバック関数はワークフローの一部であり、ワークフローによって関数呼び出し (コールバック) のタイミングが決定されます。
コールバックは本来非常に単純な概念であるはずですが、おそらく私たちは通常、システムが作成したインターフェースしか使用しないため、コールバックを実装することはめったにありません。そのため、コールバックを実装するときはまだ少し混乱しています。この記事ではそれを記録し、コールバック インターフェイスの作成方法も共有します。
コールバック
コールバックの概念: たとえば、誰かに質問したいと思い、その質問を他の人に伝え、相手がOKと言ったら、私が質問を終えたら、私はそうします言っておきますが、この時にコールバックを使っているのは、相手がいつ終わるか分からないのですが、終わったら相手が率先してこちらを探してくれるからです。
同期コールバック
コードが特定の場所まで実行されるときに、コールバックを必要とするコードに遭遇すると、ここで待機し、コールバックの結果が返されるのを待ってから実行を続行します。
非同期コールバック
コールバックが必要なコードが実行されると、停止せずに実行を継続します。もちろん、しばらくしてからコールバックの結果が返される場合もあります。
具体的なコード:
全体的なコードはまだ非常に単純ですが、プリンターは印刷する機能を持っていますが、タスクを受信している間は印刷に時間がかかります。フィードバックを送信する前にしばらくお待ちください。この人がしたいのは、履歴書を印刷し、その印刷結果を知りたいだけです。ここのコードは両方のメソッドを実装しています。
Callback.java
public interface Callback { void printFinished(String msg); }
Printer.java
public class Printer { public void print(Callback callback, String text) { System.out.println("正在打印 . . . "); try { Thread.currentThread(); Thread.sleep(3000);// 毫秒 } catch (Exception e) { } callback.printFinished("打印完成"); } }
People.java
public class People { Printer printer = new Printer(); /* * 同步回调 */ public void goToPrintSyn(Callback callback, String text) { printer.print(callback, text); } /* * 异步回调 */ public void goToPrintASyn(Callback callback, String text) { new Thread(new Runnable() { public void run() { printer.print(callback, text); } }).start(); } }
Main.java
public class Main {//测试类,同步回调 public static void main(String[] args) { People people = new People(); Callback callback = new Callback() { @Override public void printFinished(String msg) { System.out.println("打印机告诉我的消息是 ---> " + msg); } }; System.out.println("需要打印的内容是 ---> " + "打印一份简历"); people.goToPrintSyn(callback, "打印一份简历"); System.out.println("我在等待 打印机 给我反馈"); } }
Main.java
public class Main {//异步回调 public static void main(String[] args) { People people = new People(); Callback callback = new Callback() { @Override public void printFinished(String msg) { System.out.println("打印机告诉我的消息是 ---> " + msg); } }; System.out.println("需要打印的内容是 ---> " + "打印一份简历"); people.goToPrintASyn(callback, "打印一份简历"); System.out.println("我在等待 打印机 给我反馈"); } }
以上がJava コールバック原則の実装コード共有 (図)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
