संभव डुप्लिकेट:
Malloc thread-safe?malloc() गैर-पुनर्वित्तक है लेकिन थ्रेड-सुरक्षित है?
मैं नहीं थोड़ा उलझन में जब मैं "लिनक्स प्रोग्रामिंग इंटरफ़ेस" पढ़ रहा हूँ कर रहा हूँ।
पुस्तक से यह कहता है कि मॉलोक गैर-पुनर्वित्तक है क्योंकि यह वैश्विक लिंक्ड सूची डेटा संरचना में हेरफेर करता है लेकिन म्यूटेक्स का उपयोग करके थ्रेड-सुरक्षित बना दिया जाता है।
मैं इसके बारे में थोड़ा उलझन में हूं: चूंकि यह म्यूटेक्स का उपयोग करने के साथ थ्रेड-सुरक्षित है और इस प्रकार एक ही समय में एक से अधिक धागे द्वारा बुलाया जा सकता है, यह एक पुनर्वित्त समारोह क्यों नहीं है? (अगर हम कहते हैं कि पुनर्वित्त का अर्थ है कि इसे एक ही समय में एक से अधिक कॉलर द्वारा बुलाया जा सकता है)
एक और सवाल यह है कि चूंकि मॉलोक थ्रेड-सुरक्षित है, क्या हम इसे सिग्नल हैंडलर में डाल सकते हैं? मुझे लगता है कि उत्तर हाँ है लेकिन मुझे यकीन नहीं है कि इस पुस्तक के अनुसार, यह कहता है कि सिग्नल हैंडलर में केवल एक पुनर्वित्तक या एसिंक-सिग्नल-सुरक्षित फ़ंक्शन लगाया जा सकता है।
क्या कोई मुझे यह समझा सकता है?
क्या mutex malloc के कार्यान्वयन में शामिल है? – Bingo