पर परिवर्तन के लिए प्रतीक्षा करने के लिए एक रास्ता है वहाँ बहुत एक AtomicInteger
पर प्रतीक्षा करने के लिए मैं अपने वर्तमान धागा सो रखने के लिए और AtomicInteger
इसएक परमाणु पूर्णांक
while(atomicInt.get() >= 0) {
Thread.sleep(1000)
}
तरह की जाँच कर रखने के लिए की जरूरत नहीं है कि एक तरीका होता है
मैं जानता हूँ कि एक CountDownLatch
के रूप में ऐसी कोई बात नहीं है, लेकिन यह है कि केवल मुझे घटती को मैं भी बढ़ाने के लिए सक्षम होना चाहिए की अनुमति देता है
इसके अलावा पिछली कथा - मैं एक पाश धागे बनाने है और मैं एक पर प्रतीक्षा करने की आवश्यकता एक नया धागा बनाने से पहले धागे निष्पादन खत्म करने के लिए। हालांकि मैं Executors.newFixedThreadPool(numThreads)
का उपयोग कर रहा हूं और इस पर प्रतीक्षा करने का एकमात्र तरीका शटडाउन विधि को समाप्त करने का इंतजार करना है और फिर एक नया थ्रेडपूल बनाना है, इसलिए मैं एक परमाणु पूर्णांक का उपयोग कर रहा था ताकि यह पता चल सके कि कितने धागे चल रहे थे और/या कतार पर ताकि जब उस संख्या में कमी आई तो मैं लूप के साथ जारी रख सकता था।
संक्षिप्त उत्तर नहीं है। क्या आप अपना प्रश्न संपादित कर सकते हैं और थोड़ा और बता सकते हैं _why_ आप इसे चाहते हैं? अन्य विकल्प हो सकते हैं। – Gray
प्रतीक्षा के लिए WaitForSingleObject का उपयोग क्यों न करें। प्रतीक्षा करने के लिए थोड़ी देर लूप बनाना एक भयानक विचार है। – CyprUS
परमाणु वस्तु की प्रतीक्षा पूरी तरह से प्रतीक्षा-मुक्त एल्गोरिदम के उद्देश्य को हरा देती है। आप यह गलत कर रहे है। – maerics