يتم استخدامه لتحقيق تبادل البيانات بين شخصين. تبادل البيانات مع بعضها البعض جوهرها
نسخ رمز رمز على النحو التالي:
حزمة com.ljq.test.Thread ؛
استيراد java.util.concurrent.exchanger ؛
استيراد java.util.concurrent.executorservice ؛
استيراد java.util.concurrent.executors ؛
الطبقة العامة Exchangrtest {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {{
خدمة ExecutorService = Executors.NewCachedThreadPool () ؛
التبادل النهائي = New Exchange () ؛
service.execute (new RunNable () {)
تشغيل الفراغ العام () {
يحاول {
String Data1 = "Zhang San" ؛
System.out.println ("thread" + thread.currentThRead (). getName () + "هو الآن تشغيل البيانات" + data1 + "'Out") ؛
thread.sleep ((long) (Math.Random ()*10000)) ؛
String Data2 = (String) TuperSanger.exchange (data1) ؛
System.out.println ("thread" + thread.currentThRead (). getName () + "DATIONS REPLICE IS" + data2 + "" ") ؛
} catch (استثناء e) {{
}
}
}) ؛
service.execute (new RunNable () {)
تشغيل الفراغ العام () {
يحاول {
String Data1 = "li si" ؛
System.out.println ("thread" + thread.currentThRead (). getName () + "هو الآن تشغيل البيانات" + data1 + "'Out") ؛
thread.sleep ((long) (Math.Random ()*10000)) ؛
String Data2 = (String) TuperSanger.exchange (data1) ؛
System.out.println ("thread" + thread.currentThRead (). getName () + "DATIONS REPLICE IS" + data2 + "" ") ؛
} catch (استثناء e) {{
}
}
}) ؛
}
}
نتائج الظهر:
نسخ رمز رمز على النحو التالي:
تقوم مجموعة التجمع--1-1 باستبدال بيانات "Zhang San" من Pool-1-Thread-2 تقوم بتغيير البيانات إلى تجمع مؤشرات الترابط -1 ".
يتم استبدال بيانات POOW-1-THREAD-2 بـ "Zhang San"