इंटर-थ्रेड संचार i एक दूसरे के साथ धागों का संचार करता है। जावा में इंटर-थ्रेड कम्युनिकेशन को लागू करने के लिए उपयोग की जाने वाली तीन विधियाँ
प्रतीक्षा करें ()
इस विधि के कारण वर्तमान थ्रेड लॉक को रिलीज़ करता है . यह तब तक किया जाता है जब तक कि एक विशिष्ट समय बीत नहीं जाता है या कोई अन्य थ्रेड सूचित करें () . को कॉल करता है या सभी को सूचित करें () इस वस्तु के लिए विधि।
सूचित करें ()
यह विधि एक धागा जगाती है वर्तमान ऑब्जेक्ट के मॉनिटर पर कई थ्रेड्स से बाहर। धागे का चुनाव मनमाना है।
सभी को सूचित करें ()
यह विधि सभी धागों को जगाती है जो वर्तमान वस्तु के मॉनिटर पर हैं।
उदाहरण
class BankClient { int balAmount = 5000; synchronized void withdrawMoney(int amount) { System.out.println("Withdrawing money"); balAmount -= amount; System.out.println("The balance amount is: " + balAmount); } synchronized void depositMoney(int amount) { System.out.println("Depositing money"); balAmount += amount; System.out.println("The balance amount is: " + balAmount); notify(); } } public class ThreadCommunicationTest { public static void main(String args[]) { final BankClient client = new BankClient(); new Thread() { public void run() { client.withdrawMoney(3000); } }.start(); new Thread() { public void run() { client.depositMoney(2000); } }.start(); } }
आउटपुट
Withdrawing money The balance amount is: 2000 Depositing money The balance amount is: 4000