मैं जावा में सेमफोरस में जा रहा हूं और इस लेख को http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html पढ़ रहा था। एकमात्र चीज जो मुझे नहीं मिलती है वह है कि अधिग्रहण() विधि को सिंक्रनाइज़ संदर्भ में उपयोग नहीं किया जाता है। ऊपर webiste से उदाहरण को देखते:सेमफोरस में अधिग्रहण() विधि को सिंक्रनाइज़ क्यों नहीं किया जाना चाहिए?
वे एक सेमाफोर बनाएँ:
private Semaphore semaphore = new Semaphore(100);
और सिर्फ इस तरह एक परमिट प्राप्त:
semaphore.acquire();
अब, नहीं यह संभव होगा कि दो या अधिक धागे एक ही समय में() हासिल करने का प्रयास करते हैं? यदि हां, तो गिनती के साथ थोड़ी सी समस्या होगी।
या, सेमफोर स्वयं सिंक्रनाइज़ेशन को संभालता है?