एक "अर्धवृत्त समयावधि अवधि क्या है?"


1

मेरे पास कुछ व्यक्तिगत अनुभव हैं सेमाफोर टाइमआउट अवधि त्रुटि । मैं त्रुटि को हल करने में सक्षम था, लेकिन फिर भी मुझे यह पूछते हुए छोड़ दिया, कि दुनिया में "अर्ध-अवधि का समय क्या है? मैं इसे होने से कैसे रोक सकता हूं? यह तब ही क्यों होता है जब बड़े डेटा ट्रांसफर सवालों के घेरे में होते हैं?

जवाबों:


1

सिकंदरा (और एक म्यूटेक्स) एक है सिंक्रनाइज़ेशन ऑब्जेक्ट , एक संसाधन साझा करने के लिए विभिन्न प्रक्रियाओं के बीच संवाद करने के लिए उपयोग किया जाता है। उदाहरण के लिए, यदि आपके पास एक से अधिक धागे हैं, तो आप प्रायोगिकता के लिए विभाजन जाँच कर सकते हैं, आप प्रत्येक परीक्षण के खत्म होने के बाद अलग-अलग विभाजक निर्दिष्ट करना चाहेंगे।

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

अधिक जानकारी के लिए देखें WaitForSingleObject फ़ंक्शन , या C ++ ट्यूटोरियल मल्टी-थ्रेडेड प्रोग्रामिंग

जब आप सीमित बैंडविड्थ वाले नेटवर्क पर बड़ी फ़ाइलों को स्थानांतरित कर रहे हैं, तो आप वास्तविक दुनिया की स्थिति में क्या कर सकते हैं?

  1. फ़ाइलों को संपीड़ित करें (XML डेटा, विशेष रूप से, ~ 10: 1 को ज़िप के साथ संपीड़ित करता है)।

  2. फ़ाइलों को विखंडू में तोड़ें (एक उपद्रव, लेकिन किसी भी फ़ाइल प्रकार के लिए लागू)।

  3. बैंडविड्थ में सुधार। उदाहरण के लिए, मैंने SSH / SFTP पाया अत्यंत एक पुराने सर्वर पर धीमा है, लेकिन जब रैम जोड़ा गया था, तो डेटा अधिक तेजी से स्थानांतरित हो गया।


-1

मैं टाइमआउट के लिए समाधान पर फंस गया - मैं अपने एचडी को एक बाहरी ड्राइव पर बैकअप कर रहा था और सेमीफ़ोर टाइम-आउट त्रुटि प्राप्त करता रहा और यूएसबी कनेक्शन और सफलता को बदलने का सुझाव मिला। समस्या चली गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.