ब्लॉक नहीं करता मैं std::mutex
क्यों एक एसटीडी ताला लगा :: म्युटेक्स धागा
int main() {
mutex m;
m.lock();
m.lock(); // expect to block the thread
}
की मेरी समझ का परीक्षण करने के लिए निम्न कोड लिखा था और फिर मैं एक system_error: device or resource busy
मिला है। क्या थ्रेड को अवरुद्ध करने वाला दूसरा m.lock()
नहीं है?
केवल एक धागा है, इसे अवरुद्ध करने के लिए उपयोगी क्यों होगा? – stijn
अन्य धागे अवरुद्ध होंगे; म्यूटेक्स-मालिक चलने की कोई गारंटी नहीं है (और वास्तव में यह संस्करण एक त्रुटि उत्पन्न करता है।) – dlev
यदि उस दूसरे कॉल ने धागे को अवरुद्ध कर दिया है, तो थ्रेड को कैसे अनवरोधित किया जाएगा? –