POSIX मानक के पुराने संस्करणों द्वारा एक आरंभिक के साथ पहला तरीका केवल वैधानिक रूप से आवंटित चर के साथ काम करने की गारंटी है, न कि जब चर एक auto
चर है जिसे फ़ंक्शन बॉडी में परिभाषित किया गया है। हालाँकि मैंने कभी ऐसा प्लेटफ़ॉर्म नहीं देखा है जहाँ इसे auto
चर के लिए भी अनुमति नहीं दी जाएगी , और इस प्रतिबंध को POSIX मानक के नवीनतम संस्करण में हटा दिया गया है।
static
के बाद से यह बूटस्ट्रैप कोड बहुत आसान लिखने के लिए अनुमति देता है संस्करण है, वास्तव में यदि आप कर सकते हैं बेहतर है। जब भी रन टाइम में आप ऐसे म्यूटेक्स का उपयोग करने वाले कोड में प्रवेश करते हैं, तो आपको आश्वस्त किया जा सकता है कि म्यूटेक्स को आरंभीकृत किया गया है। बहु सूत्रण संदर्भ में यह एक अनमोल जानकारी है।
जब आप अपने म्यूटेक्स के लिए विशेष गुणों की आवश्यकता होती है, जैसे कि पुनरावर्ती उदाहरण या प्रक्रियाओं के बीच ही नहीं, थ्रेड्स के बीच साझा करने योग्य होने के लिए एक init फ़ंक्शन का उपयोग करने का तरीका बेहतर है।