91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java異步調用 怎樣使用回調機制

小樊
81
2024-11-24 00:15:37
欄目: 編程語言

在Java中,回調機制是一種常見的方法,用于在異步操作完成后執行特定的代碼。這里是一個簡單的示例,說明如何使用回調機制進行異步調用:

  1. 首先,定義一個回調接口:
public interface AsyncCallback<T> {
    void onSuccess(T result);
    void onError(Exception e);
}
  1. 創建一個異步類,該類將執行異步操作并在操作完成時調用回調方法:
public class AsyncTask<T> {
    private AsyncCallback<T> callback;

    public AsyncTask(AsyncCallback<T> callback) {
        this.callback = callback;
    }

    public void execute(Callable<T> callable) {
        new Thread(() -> {
            try {
                T result = callable.call();
                callback.onSuccess(result);
            } catch (Exception e) {
                callback.onError(e);
            }
        }).start();
    }
}
  1. 使用AsyncTask類執行異步操作:
public class Main {
    public static void main(String[] args) {
        AsyncTask<String> asyncTask = new AsyncTask<>(new AsyncCallback<String>() {
            @Override
            public void onSuccess(String result) {
                System.out.println("異步操作成功,結果: " + result);
            }

            @Override
            public void onError(Exception e) {
                System.out.println("異步操作失敗,原因: " + e.getMessage());
            }
        });

        asyncTask.execute(() -> {
            // 模擬一個耗時操作,例如從數據庫或網絡獲取數據
            Thread.sleep(2000);
            return "異步操作返回的數據";
        });
    }
}

在這個示例中,我們創建了一個AsyncTask類,它接受一個回調接口作為參數。當我們調用execute方法時,它會創建一個新的線程來執行傳入的Callable對象。當異步操作成功完成時,我們調用onSuccess方法;當操作失敗時,我們調用onError方法。

0
富源县| 大同市| 阳曲县| 合水县| 陈巴尔虎旗| 松溪县| 靖远县| 鄂托克旗| 民和| 正宁县| 随州市| 响水县| 大姚县| 汤原县| 通渭县| 澜沧| 龙江县| 荔波县| 山阴县| 郸城县| 卓资县| 宁波市| 济源市| 景德镇市| 安西县| 梁平县| 桂林市| 新乡市| 蓬莱市| 仪征市| 嘉荫县| 苍南县| 日喀则市| 杂多县| 盐亭县| 西丰县| 延川县| 师宗县| 阿拉善左旗| 古田县| 盐源县|