গেমটি থেকে কিছুটা দেরি হলেও সম্পূর্ণ হওয়ার জন্য ...
সমস্ত কাজ শেষ হওয়ার জন্য 'অপেক্ষা' করার পরিবর্তে আপনি হলিউডের নীতির শর্তে ভাবতে পারেন, "আমাকে ডাকবেন না, আমি আপনাকে ডাকব" - শেষ হয়ে গেলে। আমি মনে করি ফলাফলের কোডটি আরও মার্জিত ...
এটি সম্পাদন করার জন্য পেয়ারা কিছু আকর্ষণীয় সরঞ্জাম সরবরাহ করে।
একটি উদাহরণ ::
শ্রবণকারী এক্সেকিউটারসেবা-তে একটি এক্সিকিউটর সার্ভিস মোড়ুন ::
ListeningExecutorService service = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(10));
মৃত্যুদন্ড কার্যকর করার জন্য কলযোগ্যদের সংগ্রহ জমা দিন:
for (Callable<Integer> callable : callables) {
ListenableFuture<Integer> lf = service.submit(callable);
// listenableFutures is a collection
listenableFutures.add(lf)
});
এখন প্রয়োজনীয় অংশ:
ListenableFuture<List<Integer>> lf = Futures.successfulAsList(listenableFutures);
শ্রবণযোগ্যফিউচারে একটি কলব্যাক সংযুক্ত করুন, যে সমস্ত ফিউচার সমাপ্ত হলে আপনাকে বিজ্ঞপ্তি হিসাবে ব্যবহার করতে পারেন ::
Futures.addCallback(lf, new FutureCallback<List<Integer>>() {
@Override
public void onSuccess(List<Integer> result) {
log.info("@@ finished processing {} elements", Iterables.size(result));
// do something with all the results
}
@Override
public void onFailure(Throwable t) {
log.info("@@ failed because of :: {}", t);
}
});
এটি এমন সুবিধাও দেয় যে প্রসেসিং শেষ হয়ে গেলে আপনি সমস্ত ফলাফল এক জায়গায় সংগ্রহ করতে পারবেন ...
আরও তথ্য এখানে