मैं दस्तावेज ढूंढने की कोशिश कर रहा हूं जो java.util.concurrent.Future है/थ्रेडसेफ नहीं है। जैसे मैं सुरक्षित रूप से भविष्य के एक ही उदाहरण को कई धागे में दे सकता हूं, जो सभी Future.get (...) को कॉल करेंगे?java.util.concurrent.Future threadsafe है?
मैंने भविष्य में भविष्य का उपयोग करके कोड का परीक्षण किया है और ऐसा लगता है कि अगर मैं दस्तावेज की उम्मीद कर सकता हूं कि भविष्य में समवर्ती पहुंच के लिए भविष्य सुरक्षित है तो मैं बहुत खुश हूं।
धन्यवाद।
अनिवार्य रूप से, यह टिप्पणी निजेट के उत्तर के समान ही है: आप जेडीके जावाडोक में स्मृति स्थिरता गारंटी देख सकते हैं: http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/package- सारांश.html # पैकेज_डिस्क्रिप्शन –
क्या यह पढ़ने के लिए सुरक्षित है "भविष्य में होने वाले एसिंक्रोनस गणना द्वारा किए गए कार्यों को भविष्य में होने वाले कार्यों से पहले की भविष्यवाणियों को Future.get() के माध्यम से किसी अन्य धागे में पुनर्प्राप्त करने के बाद।" _many_ अन्य धागे के साथ-साथ एक अन्य धागे के लिए भी सच है? - "एक और धागा" पढ़ा सचमुच एक ** एकल ** अन्य धागे को कई के विपरीत इंगित करता है। अगर ऐसा लगता है कि भविष्य के कार्यान्वयनकर्ता को कई लोगों के लिए तोड़ने और एक के लिए काम करने के लिए अपने रास्ते से बाहर जाना होगा, इसलिए मुझे दृढ़ता से संदेह है कि यह वास्तविकता में सुरक्षित है। – S42
हां, क्योंकि प्रत्येक कॉल 'Future.get()' की गारंटी "पहले से पहले" गारंटी के तहत होगी। ऐसा इसलिए है क्योंकि एक ही असेंबली में संकलित प्रत्येक कॉल http://en.wikipedia.org/wiki/Memory_barrier –