يدرس هذه المقالة بشكل أساسي استخدام مبادل أداة مزامنة مؤشر ترابط البرمجة Java. دعنا نلقي نظرة على المحتوى المحدد أدناه.
إذا احتاج موضوعان إلى تبادل المعلومات من بعضهما البعض أثناء تشغيلهما ، مثل البيانات أو المساحة المستخدمة ، فيجب أن يستخدموا فئة التبادل. يوفر المبادل طريقة مريحة للغاية للمواضيع لتبادل المعلومات. يمكن أن تكون بمثابة نقطة التزامن لخيط اثنين لتبادل الكائنات. فقط عندما يدخل كل مؤشر ترابط إلى طريقة exchange () ويعطي الكائن ، يمكنه قبول الكائن المعطى عند عودة مؤشرات الترابط الأخرى.
يمكن لاثنين فقط من المواضيع تبادل البيانات في وقت واحد. إذا كان هناك عدة مؤشرات ترابط ، يمكن اثنان فقط تبادل البيانات. دعونا نرى مثالاً شائعاً: يدويًا ونقدم البضائع بأغنية واحدة!
الفئة العامة tuckErgerTest {public static void main (string [] args) {executorService service = Executors.NewCachedThreadPool () ؛ Final Tuprited Tuperated = new tuprategr () "Heroin" ؛ System.out.println ("Thread" + thread.currentThread (). (String) Tuper.exchange (data1) ؛ system.out.println ("thread" + thread.currentThread (). getName () + "swap heroin for Exchange" + data2) ؛ service service.execute (new runnable () {@@@@@@@public void run () {try {string data1 = "3 مليون" ؛ system.out.println ("thread" + thread.currentThread (). getName () + " + data1 + (String) Tailor.exchange (data1) ؛ system.out.println ("thread" + thread.currentTherAd (). getName () + "geted مع 3 ملايين" + data2) ؛} catch (استثناء e) {} أخيرًا {service.shutdown () ؛ system.out.println ("تم الانتهاء من المعاملات ، فركض مع المعاملات. الهيروين! ") ؛}}}) ؛}}) ؛}}) ؛}}) ؛}}) ؛}}من الكود ، بدا أنني رأيت شخصين يتداولان المخدرات ... دعنا نرى كيف تكون نتائج المعاملة:
Thread Pool-1-Thread-1 يخرج الهيروين المخدرات. Thread Pool-1-Thread-2 يأخذ 3 ملايين. يحصل Thread Pool-1-Thread-2 على الحصول على بركة هيروين بوت-1-Thread-1 لتبادل الهيروين مقابل 3 ملايين. تم الانتهاء من المعاملة. خذ الهيروين وركض بسرعة!
بعد انتهاء الصفقة ، هرب مع المال!
يمتد بسرعة. انطلاقًا من نتائج التشغيل ، فإنه يدرك تبادل البيانات. هذا هو مجرد تبادل نوع أساسي من البيانات. استخداماتها الحقيقية لا تقتصر على هذا. على سبيل المثال ، يمكننا تبادل كائن ، وهو مفيد. ذكرت JDK رسميا تطبيق رفيع المستوى:
استخدم المبادل لتبادل المخازن المؤقتة بين المواضيع ، لذلك عند الحاجة ، يحصل الخيط الذي يملأ المخزن المؤقت على المخزن المؤقت الشاغر حديثًا ويمرر المخزن المؤقت المملوء إلى الخيط المخزن المؤقت الشاغر.
هذا يجب أن يستند إلى الوضع الفعلي. الفكرة هي نفسها على النحو الوارد أعلاه. في الواقع ، يجب أن تحدد فئة مخزن مؤقت ، ثم يتم تبادل فئة هذا المخزن المؤقت بين الخيطين. أما بالنسبة لكيفية تنفيذها في الفصل ، فإنه يعتمد على الوضع الفعلي. هذا كل شيء لاستخدام المبادل ~
ما سبق هو المحتوى الكامل لهذه المقالة حول تحليل مثيل الاستخدام لمبادل أداة مزامنة مؤشر ترابط البرمجة Java ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!