コード
ExecutorService es = Executors.newFixedThreadPool(2);
//带线程池的异步接口
cc.create().inBackground((client,event)->{
//pool-3-thread-1,CuratorEventImpl{type=CREATE, resultCode=0, path='/abc', name='/abc', children=null, context=null,stat=114,114,1573797468244,1573797468244,0,0,0,0,13,0,114, data=null, watchedEvent=null, aclList=null, opResults=null}
System.out.println(Thread.currentThread().getName()+","+event);
},es).forPath("/abc");
//不带线程池的异步接口
cc.delete().inBackground((client,event)->{
//main-EventThread,CuratorEventImpl{type=DELETE, resultCode=0, path='/abc', name='null', children=null, context=null, stat=null, data=null, watchedEvent=null, aclList=null, opResults=null}
System.out.println(Thread.currentThread().getName()+","+event);
}).forPath("/abc");
Thread.sleep(Integer.MAX_VALUE);
コンセプト
1.inBackground()このメソッドは、パラメータがBackgroundCallbackインタフェースが機能インタフェースであり、非同期コールバックメソッドを追加することです。
2.BackgroundCallback(現在のクライアント・インスタンス)とイベント(イベント・サーバー)のクライアントインターフェイスパラメータ
3.イベントタイプ、CuratorEventTypeは、
次の情報が含まれてい{タイプ= DELETE、resultCodeが= 0 、パス= '/ ABC'、NAME = ' ヌル」、子供=ヌル、コンテキスト=ヌル、STAT =ヌル、データ= NULL、watchedEvent =ヌル、aclList =ヌル、opResults = NULL}
このような削除などの操作の種類に対応する種類、対応する削除()、(作成する対応の作成)など、成功のための応答コード0をResultCodeの
スレッドプールESの4.役割は、デフォルトで、名前で見ることができる影響力を持って長い時間がかかる場合は、メイン・EventThreadシリアル実行スレッドを使用することです、缶カスタム・スレッド・プールによって、この状況を緩和します。