Es wird verwendet, um den Datenaustausch zwischen zwei Personen zu erreichen. tauschen Sie die Daten miteinander aus
Kopieren Sie den Code -Code wie folgt:
Paket com.ljq.test.thread;
Import Java.util.concurrent.exchanger;
Import Java.util.concurrent.executorService;
Import Java.util.concurrent.executors;
public class Exchangrtest {
Public static void main (String [] args) {{{{{{{{{{
ExecutorService Service = Executors.NewCachedThreadpool ();
Endgültig Exchange = New Exchange ();
Service.execute (new Runnable () {)
public void run () {
versuchen {
String Data1 = "Zhang san";
System.out.println ("Thread" + Thread.currentThread (). GetName () + "dreht jetzt die Daten" " + data +" 'out ");
Thread.sleep ((lang) (math.random ()*10000));
String data2 = (String) Exchanger.exchange (Data1);
System.out.println ("Thread" + Thread.currentThread (). GetName () + "Ersetzte Daten ist '" + data2 + "'");
} Catch (Ausnahme e) {{{{{
}
}
});
Service.execute (new Runnable () {)
public void run () {
versuchen {
String data1 = "li si" ";
System.out.println ("Thread" + Thread.currentThread (). GetName () + "dreht jetzt die Daten" " + data +" 'out ");
Thread.sleep ((lang) (math.random ()*10000));
String data2 = (String) Exchanger.exchange (Data1);
System.out.println ("Thread" + Thread.currentThread (). GetName () + "Ersetzte Daten ist '" + data2 + "'");
} Catch (Ausnahme e) {{{{{
}
}
});
}
}
Rückenergebnisse:
Kopieren Sie den Code -Code wie folgt:
Der Thread Pool-Thread-1 ersetzt die Daten "Zhang San" aus dem Thread Pool-1-Thread-2 ändert die Daten in den Thread Pool-Thread-1 ".
Die Daten des Thread Pool-1-Thread-2 werden durch 'Zhang San' ersetzt