@ जेरेडपार के उत्तर पर विस्तृत करने के लिए, आपके हाथों में दौड़ की स्थिति है। यदि पहली कॉल फ़ोल्डर को पूरी तरह से बनाता है, और केवल तभी दूसरा कॉल शुरू होता है, तो सब ठीक हो जाएगा।
हालांकि, यदि दूसरा कॉल ओएस तक पहुंचता है, जबकि यह अभी भी पहले प्रोसेस कर रहा है, तो ओएस मुद्दों को लॉक करने के लिए दूसरी एक डुबकी विफल हो सकता है, और आपको अपवाद मिलेगा।
यह अभी भी इस धागे में सुरक्षित है कि आपको कोई अप्रत्याशित फ़ोल्डर्स नहीं बनाया जाएगा, या बिल्कुल कोई फ़ोल्डर नहीं होगा।
विस्तृत करने के लिए - जबकि मुझे 100% यकीन नहीं है कि विंडोज़ में आंतरिक दौड़ की स्थिति नहीं है जब एक ही फ़ोल्डर दो बार समेकित रूप से बनाया जाता है, तो मुझे यकीन है कि आप डिस्क को कचरा नहीं कर पाएंगे ऐसा करना, या मृत्यु के लिए फंसे दोनों रचनाओं के साथ एक डेडलॉक प्राप्त करें। उनमें से एक सफल होगा, दूसरा असफल हो जाएगा, लेकिन फ़ोल्डर बनाया जाएगा।
तो अपने शोध प्रणालियों, बस पूरी तरह से सुनिश्चित हो सकता है, यह होना चाहिए:
- निर्देशिका
- बनाएं यदि यह विफल रहता है, समय की एक यादृच्छिक राशि इंतजार (जैसे कि, 0.2 और एक दूसरे के 0.5 के बीच) और फिर प्रयत्न करें।
तो यह लगातार विफल रहता है (जैसे कि, एक पंक्ति में 3 बार), आप अपने हाथों पर एक और समस्या है - संयोग से फ़ोल्डर, एक पूर्ण डिस्क, आदि के लिए कोई अनुमति ..
, क्यों फ़ोल्डर नहीं बना एक बार जब एप्लिकेशन चलना शुरू हो जाता है?
यह समस्या का समाधान नहीं करता की हालांकि चाहे या नहीं यह एक या दोनों धागे – JaredPar
से फेंक देते हैं True- मेरा मानना है कि अपने जवाब को शामिल किया गया है कि बेहतर (मैं btw upvoted)। मैं अपना जवाब संशोधित करूंगा। –