2012-03-22 10 views
16

कोई अनिश्चित मामले में Java 1.4 docjavax.xml.parsers.DocumentBuilderFactory के लिए कहता है:क्या जावा 5+ में DocumentBuilderFactory थ्रेड-सुरक्षित है?

DocumentBuilderFactory वर्ग का एक कार्यान्वयन सुरक्षित थ्रेड किए जाने की नहीं की गारंटी है। यह एक से अधिक धागे से DocumentBuilderFactory के उपयोग के बारे में सुनिश्चित करने के लिए उपयोगकर्ता एप्लिकेशन पर निर्भर करता है। वैकल्पिक रूप से एप्लिकेशन में दस्तावेज़ थूल्डर फ़ैक्टरी प्रति थ्रेड का एक उदाहरण हो सकता है। एक दस्तावेज़ दस्तावेज़बिल्डर के एक या एक से अधिक उदाहरण प्राप्त करने के लिए कारखाने के एक ही उदाहरण का उपयोग कर सकता है बशर्ते फैक्ट्री का उदाहरण एक समय में एक से अधिक धागे में उपयोग नहीं किया जा रहा हो।

Java 5 और Java 6 दस्तावेज़, हालांकि, इस तरह के कुछ भी नहीं कहते हैं। DocumentBuilderFactory अब थ्रेड-सुरक्षित है, या सूर्य ने बस फैसला किया कि चेतावनी अधिक है और लोगों को बेहतर पता होना चाहिए?

+0

संभावित डुप्लिकेट [क्या DocumentBuilder.parse() थ्रेड सुरक्षित है?] (Http://stackoverflow.com/questions/56737/is-documentbuilder-parse-thread-safe) –

+5

डुप्लिकेट नहीं है, सवाल यह है कि यह है एकाधिक थ्रेड के लिए सुरक्षित * निर्माण * दस्तावेज़ निर्माता जो एक ही फैक्ट्री का उपयोग करते हैं, न कि एक ही निर्माता के साथ कई दस्तावेज़ों को पार्स करने का प्रयास करना सुरक्षित है या नहीं। –

उत्तर

-5

चूंकि यह मेरे पैसे को बगैर थ्रेड सुरक्षित बनाने के लिए बेहद खराब स्वाद में होता है, यह अभी भी असुरक्षित है। आप ब्रेकपॉइंट्स का उपयोग करके स्वयं का परीक्षण कर सकते हैं।

13

दस्तावेज़बिल्डर फ़ैक्टरी वर्ग का कार्यान्वयन थ्रेड सुरक्षित होने की गारंटी नहीं है। यह एक से अधिक धागे से DocumentBuilderFactory के उपयोग के बारे में सुनिश्चित करने के लिए उपयोगकर्ता एप्लिकेशन पर निर्भर करता है। वैकल्पिक रूप से एप्लिकेशन में दस्तावेज़ थूल्डर फ़ैक्टरी प्रति थ्रेड का एक उदाहरण हो सकता है। एक दस्तावेज़ दस्तावेज़बिल्डर के एक या एक से अधिक उदाहरण प्राप्त करने के लिए कारखाने के एक ही उदाहरण का उपयोग कर सकता है बशर्ते फैक्ट्री का उदाहरण एक समय में एक से अधिक धागे में उपयोग नहीं किया जा रहा हो।

दस्तावेज़बिल्डर पर एक रीसेट() विधि है जो इसे पहली बार बनाए जाने पर राज्य को पुनर्स्थापित करती है। यदि आप थ्रेडलोकल मार्ग पर जा रहे हैं, तो इसे कॉल करना न भूलें या आप को रोक दिया गया है।

संबंधित मुद्दे