Curator使用 二 非同步呼叫

2022-05-07 12:06:11 字數 815 閱讀 7357

executorservice es = executors.newfixedthreadpool(2);

//帶執行緒池的非同步介面

cc.create().inbackground((client,event)->

system.out.println(thread.currentthread().getname()+","+event);

},es).forpath("/abc");

//不帶執行緒池的非同步介面

cc.delete().inbackground((client,event)->

system.out.println(thread.currentthread().getname()+","+event);

}).forpath("/abc");

thread.sleep(integer.max_value);

1.inbackground() 該方法就是新增乙個非同步的**方法,引數是backgroundcallback介面,是乙個函式式介面。

2.backgroundcallback的介面引數為client(當前客戶端例項)及event(服務端事件)

3.事件型別,curatoreventtype,

包含如下資訊

type對應的就是操作型別,比如delete對應的delete(),create對應create()等,resultcode是響應碼,0代表成功

4.執行緒池es的作用,通過名稱可以看到,預設情況下都是使用main-eventthread執行緒來序列執行,如果耗時較長會有影響,可以通過定製執行緒池來緩解這種情況。

同步呼叫與非同步呼叫

一 什麼是同步呼叫與非同步呼叫 定義 1 同步就是整個處理過程順序執行,當各個過程都執行完畢,並返回結果。2 非同步呼叫則是只是傳送了呼叫的指令,呼叫者無需等待被呼叫的方法完全執行完畢 而是繼續執行下面的流程。例如,在某個呼叫中,需要順序呼叫 a,b,c三個過程方法 如他們都是同步呼叫,則需要將他們...

JQ 非同步呼叫

請求 test.php 網頁,忽略返回值。jquery 程式 get test.php 請求 test.php 網頁,傳送2個引數,忽略返回值。jquery 程式 get test.php 顯示 test.php 返回值 html 或 xml,取決於返回值 jquery 程式 get test.ph...

html 非同步呼叫

我們的例項在 open 的第三個引數中使用了 true 該引數規定請求是否非同步處理。true 表示指令碼會在 send 方法之後繼續執行,而不等待來自伺服器的響應。onreadystatechange 事件使 複雜化了。但是這是在沒有得到伺服器響應的情況下,防止 停止的最安全的方法。通過把該引數設...