Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to realize Thread Communication in Java

Shulou Source: shulou.com Published: 2022-06-02 10:25:24 09月20日 Update

Today, I will talk to you about how to achieve thread communication in Java, many people may not know much about it. In order to make you understand better, the editor has summarized the following content for you. I hope you can get something according to this article.

1. Synchronized plus wait/notify

/ * use of wait and notify * wait and notify must be applied in synchronized blocks or methods * the following code controls each other's output like ballroom dancing * / public class MutiThread_WaitNotify {public static void main (String [] args) {final Object lock = new Object () Thread a = new Thread (new Runnable () {@ Override public void run () {synchronized (lock) {try {lock.wait (); System.out.println ("A muri 1"); lock.notify () Lock.wait (); System.out.println ("Amur2"); lock.notify (); lock.wait (); System.out.println ("Amur3"); lock.notify () } catch (InterruptedException e) {e.printStackTrace ();}) Thread b = new Thread (new Runnable () {@ Override public void run () {synchronized (lock) {try {System.out.println ("Bmuri 1"); lock.notify (); lock.wait () System.out.println ("Bmer2"); lock.notify (); lock.wait (); System.out.println ("Bmer3"); lock.notify (); lock.wait () System.out.println ("Bmur4");} catch (InterruptedException e) {e.printStackTrace ();}); a.start (); b.start ();}}

2. ReentrantLock plus Condition mode

/ * * use of ReentrantLock and Condition * when using await and signal of Conditioin, these two methods must be written after the lock method of ReentrantLock * / public class MutiThread_ReentrantLock_Condition {public static void main (String [] args) {ReentrantLock lock = new ReentrantLock (); Condition condition = lock.newCondition (); int iTunes 1; for (; I)

Tags: Thread signal semaphore fence quantity counter mode state method one-time code content time loop communication priority element at the same time effect resource Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information vpn macOS Linux Docker