मैंने कड़ी मेहनत की लेकिन मुझे कोई लेख या ब्लॉग नहीं मिला जो स्पष्ट रूप से "सुनने योग्य भविष्य" और "completablefuture" की तुलना करता है, और इसका एक अच्छा विश्लेषण प्रदान करता है। तो अगर कोई मुझे ऐसे ब्लॉग या आलेख में समझा सकता है या इंगित कर सकता है, तो यह मेरे लिए वास्तव में अच्छा होगा। धन्यवादसुनोटेबलफ्यूचर बनाम Completablefuture
17
A
उत्तर
17
दोनों सुनोएबलफ्यूचर और कॉम्प्लेटेबल फ्यूचर को अपने माता-पिता वर्ग भविष्य पर लाभ होता है ताकि कॉलर को एक तरफ "पंजीकरण" करने की इजाजत मिलती है या किसी अन्य कॉलबैक को कॉल किया जा सकता है जब एसिंक कार्रवाई पूरी हो जाती है।
भविष्य के साथआप यह कर सकते हैं:
ExecutorService executor = ...;
Future f = executor.submit(...);
f.get();
f.get() ब्लॉक async कार्रवाई पूर्ण होने तक;
ListenableFuture साथआप इस तरह एक कॉलबैक रजिस्टर कर सकते हैं:
ListenableFuture listenable = service.submit(...);
Futures.addCallback(listenable, new FutureCallback<Object>() {
@Override
public void onSuccess(Object o) {
//handle on success
}
@Override
public void onFailure(Throwable throwable) {
//handle on failure
}
})
साथ CompletableFuture आप भी जब कार्य पूरा हो गया है के लिए एक कॉलबैक रजिस्टर कर सकते हैं, लेकिन यह है कि यह में ListenableFuture से अलग है किसी भी धागे से पूरा किया जा सकता है जो इसे पूरा करना चाहता है।
CompletableFuture completableFuture = new CompletableFuture();
completableFuture.whenComplete(new BiConsumer() {
@Override
public void accept(Object o, Object o2) {
//handle complete
}
}); // complete the task
completableFuture.complete(new Object())
एक धागा काम पर पूरा होने पर, मूल्य एक फोन से प्राप्त प्राप्त करने के लिए() करता है, तो काम पहले ही पूरा नहीं है पैरामीटर मान के साथ स्थापित किया जाएगा।
संबंधित मुद्दे
- 1. फोर्कजोइन टास्क बनाम CompletableFuture
- 2. completablefuture में शामिल होने बनाम
- 3. CompletableFuture?
- 4. CompletableFuture?
- 5. CompletableFuture
- 6. जावा 8 CompletableFuture बनाम Netty भविष्य
- 7. CompletableFuture supplyAsync
- 8. रिटर्न CompletableFuture <Void> या CompletableFuture <?>?
- 9. CompletableFuture, supplyAsync() और फिर लागू करें()
- 10. जावाटेबल ऐप सर्वर में CompletableFuture/समानांतर स्ट्रीम
- 11. स्कैला फ्यूचर्स और जावा 8 CompletableFuture
- 12. CompletableFuture के flatMap के बराबर क्या है?
- 13. जावा 8 CompletableFuture पुनर्प्राप्ति के बराबर के साथ? उदाहरण के लिए असाधारण रूप से लेकिन CompletableFuture <U>
- 14. क्या CompletionStage 'और' CompletableFuture 'के बीच अंतर है
- 15. mongoose save vs बनाम बनाम बनाम बनाम
- 16. बनाम बनाम
- 17. : बनाम बनाम ::
- 18. * बनाम ** बनाम ***?
- 19. स्पाइडरमोन्की बनाम जावास्क्रिप्ट बनाम बनाम?
- 20. CompletableFuture.allOf को CompletableFuture <Void> के रूप में घोषित क्यों किया गया है?
- 21. क्या एपीआई को परिभाषित करते समय मैं CompletableFuture या भविष्य वापस कर सकता हूं?
- 22. CompletableFuture # जब लागू नहीं किया जाता है तो लागू किया जाता है
- 23. Mercurial: भ्रष्टाचार बनाम रिकॉर्ड बनाम qrecord बनाम शेल्व बनाम प्रत्यारोपण बनाम dirstate बनाम कतार
- 24. LINQ बनाम लैम्ब्डा बनाम अज्ञात तरीके बनाम बनाम
- 25. एनएचबीर्नेट एचक्यूएल बनाम मानदंड बनाम क्वेरीरी बनाम लिंक बनाम। प्रदर्शन
- 26. एलजी 4 बनाम lz4_hc बनाम ब्लॉस्क बनाम स्नैपी बनाम फास्टलज़
- 27. MySQL मौजूदा बनाम बनाम subquery बनाम subquery बनाम?
- 28. डीकोड और व्याख्या को बनाम बनाम बनाम बनाम
- 29. इनलाइन बनाम __inline बनाम __inline__ बनाम __forceinline बनाम?
- 30. सीमा बनाम बनाम बनाम गिनती (*) बनाम गिनती (आईडी) MySQL
दूसरे शब्दों में ... ListenableFuture, एक सुविचारित स्वच्छ इंटरफ़ेस है, जबकि CompletableFuture (और CompletionStage इंटरफेस के बाद से यह उजागर करता है 'toCompletableFuture') खतरनाक है क्योंकि यह' को उजागर करता है complete' तरीकों। फिर भी ओरेकल से अपेक्षा की जाने वाली अच्छी तरह से विचार-विमर्श कचरा का एक और उदाहरण। –
'CompletionStage' अच्छा होगा अगर उसने' भविष्य 'बढ़ाया और 'tocompletableFuture' का खुलासा नहीं किया। और फिर वे इसे "चेनटेबल फ्यूचर" जैसे कुछ सार्थक नाम दे सकते थे। –
'भविष्य' और 'सुनोटेबल फ्यूचर' इंटरफेस हैं जबकि 'CompletableFuture' एक वर्ग है जो' भविष्य ' – cozyconemotel