पाठ 10 / 38

कंकरेंट कलेक्शन

ConcurrentHashMap से थ्रेड के बीच डेटा सुरक्षित साझा करें, प्रोड्यूसर/कंज़्यूमर के लिए BlockingQueue, और ज़्यादा पढ़ी जाने वाली लिस्ट हेतु CopyOnWriteArrayList।

सही चुनें

साझा मैप के लिए ConcurrentHashMap; प्रोड्यूसर/कंज़्यूमर के लिए BlockingQueue; ज़्यादा पढ़े जाने वाली लिस्ट के लिए CopyOnWriteArrayList

BlockingQueue से producer/consumer

क्यू भरी होने पर put() प्रोड्यूसर को रोकता है, खाली होने पर take() कंज़्यूमर को रोकता है — मैनुअल wait/notify की ज़रूरत नहीं।

BlockingQueue<Job> queue = new LinkedBlockingQueue<>(100);

// producer
queue.put(job);

// consumer
Job job = queue.take();