Avatar ·

wait() और sleep() विधियों के बीच क्या अंतर है Java में? कोड के साथ उदाहरण

सभी को नमस्ते! मैंने Java में मल्टीथ्रेडिंग सीखना शुरू किया है और wait() और sleep() विधियों में उलझ गया हूं। दोनों ही थ्रेड के निष्पादन को रोकते हैं, लेकिन अलग-अलग व्यवहार करते हैं। कृपया समझने में मदद करें। मेरे पास एक सरल उदाहरण है। मैं दो थ्रेड बनाता हूं: एक डेटा उत्पन्न करता है, दूसरा उसका उपभोग करता है। सिंक्रोनाइज़ेशन के लिए sleep() का उपयोग करता हूं: ```java class Producer extends Thread { private List buffer = new ArrayList<>(); public void run() { for (int i = 0; i < 10; i++) { buffer.add(i); System.out.println("उत्पादित: " + i); try { Thread.sleep(100); // उपभोक्ता के लेने तक प्रतीक्षा करें } catch (InterruptedException e) {} } } public int getValue() { return buffer.remove(0); } } class Consumer extends Thread { private Producer producer; Consumer(Producer p) { producer = p; } public void run() { for (int i = 0; i < 10; i++) { int value = produc