خيط الشيطان في جافا: تعرف على ما هي طرقه



يوفر مؤشر ترابط Daemon في Java خدمة إلى مؤشر ترابط المستخدم الذي يعمل في الخلفية. تعرف على أساليبها وكيف تختلف عن خيوط المستخدم.

الخيط هو عملية خفيفة الوزن. تقلل الخيوط عدم الكفاءة من خلال منع إهدار دورات وحدة المعالجة المركزية. تعد Java لغة برمجة شائعة وسهلة ، وتوفر دعمًا مدمجًا لـ . كل مؤشر ترابط له أولويته ويميل الذي له أولوية أعلى إلى التنفيذ بشكل أسرع. على عكس الخيوط الأخرى ، فإن الخيوط الخفية في Java هي سلسلة رسائل ذات أولوية منخفضة تعمل في الخلفية.

ستقدم لك هذه المدونة سلاسل برامج Java Daemon بالترتيب التالي.





ما هو الفرق بين الهاشتابل و الهاشمب

هيا بنا نبدأ. :-)



جافا - الخيط الخفي في جافا - Edureka

ما هو خيط الشيطان في جافا؟

يوفر مؤشر ترابط Daemon في Java خدمة إلى مؤشر ترابط المستخدم الذي يعمل في الخلفية. يعتبر مؤشر ترابط ذو أولوية منخفضة يستخدم لأداء مهام مثل جمع البيانات المهملة. في جافا ، يكون لكل مؤشر ترابط أولويته ويتم تنفيذ ذلك الذي له أولوية أعلى بشكل أسرع. أيضا، Java Virtual Machine (JVM) ينهي هذا الموضوع تلقائيا. لا يمكن منع JVM من الخروج عندما تنتهي جميع سلاسل عمليات المستخدم من تنفيذها ، حتى إذا كان مؤشر ترابط البرنامج الخفي نفسه قيد التشغيل.

للمضي قدمًا ، دعنا نرى كيف تختلف سلاسل الرسائل الخفية عن سلاسل محادثات المستخدم (غير الخفي).



الخيط الخيطي مقابل خيوط المستخدم

يرجع الاختلاف الرئيسي بين سلسلة الرسائل الخفية وخيط المستخدم إلى JVM. كما تمت مناقشته أعلاه ، لا ينتظر Java Virtual Machine حتى ينتهي تنفيذ مؤشر ترابط خفي أثناء انتظار انتهاء مؤشر ترابط المستخدم. دعنا نستكشف المزيد من الاختلافات بين سلسلة محادثات Daemon وسلسلة محادثات المستخدم بمساعدة الجدول أدناه:

خيوط الشيطان خيوط المستخدم (غير الخفي)

يتم إنشاء خيوط Daemon بواسطة JVM

يتم إنشاء سلاسل المستخدم بواسطة التطبيق نفسه

JVM لا تنتظر تنفيذها

ينتظر JVM حتى يكتمل التنفيذ

سلاسل ذات أولوية منخفضة

المواضيع ذات الأولوية العالية

تستخدم لمهام الخلفية (ليست حرجة)

تستخدم للمهام الأمامية (الحرجة)

تعتمد الحياة على خيوط المستخدم

الحياة مستقلة

الآن بعد أن أصبحت واضحًا في الفرق بين خيوط المستخدم الخفي ، دعنا نلقي نظرة على برنامج مثال للتحقق مما إذا كان الموضوع خفيًا أم خيطًا غير خفي.

يمتد ExampleThread للفئة العامة Thread {Override public void run () {System.out.println ('User Thread or Non-Daemon Thread')} public static void main (String [] args) {ExampleThread obj = new ExampleThread () obj .start () System.out.println ('is' + obj.getName () + 'a Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'a Daemon Thread:' + Thread.currentThread (). isDaemon ())}}

انتاج: هو Thread-0 a Daemon Thread: false
الموضوع المستخدم أو الموضوع غير الخيطي
هو الخيط الخيطي الرئيسي: خطأ

للمضي قدمًا ، دعنا نرى طرقًا مختلفة في خيط البرنامج الخفي في جافا.

الطرق في Java Daemon Thread

هناك طريقتان رئيسيتان لخيط الخيط في Java ، وهما:

طرق وصف
مجموعة الفراغ العامة الشيطان (الحالة المنطقية)وضع علامة على هذا الموضوع كسلسلة خفية أو سلسلة رسائل مستخدم (سلسلة رسائل غير خفية).
منطقية عامة isDaemon ()يستخدم لاختبار ما إذا كان هذا الخيط خيط خفي أم لا. إرجاع صحيح إذا كان مؤشر الترابط هو Daemon else false.
ضع في اعتبارك الكود أدناه للتنفيذ العملي:
يمتد Demothread من الفئة العامة إلى برنامج Thread {// Java لتوضيح استخدام طريقة // setDaemon () و isDaemon (). Demothread العام (اسم السلسلة) {super (name)} public void run () {// التحقق مما إذا كان مؤشر الترابط هو Daemon أم لا إذا كان (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'is Daemon thread')} else {System.out.println (getName () + 'is User thread')}} ثابت عام باطل رئيسي (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = جديد Demothread ('thread2') Demothread thread3 = new Demothread ('thread3') // إعداد مؤشر ترابط المستخدم 1 إلى Daemon thread1.setDaemon (صحيح) // بدء أول خيطين موضوعين1.start () thread2.start () / / تعيين مؤشر ترابط المستخدم thread3 إلى Daemon thread3.setDaemon (صحيح) thread3.start ()}}

انتاج:
thread2 هو موضوع المستخدم
thread1 هو خيط الشيطان

هذه نهاية مدونة 'Daemon thread in Java'. أتمنى أن تكون واضحًا يا رفاق بشأن المحتوى الذي ناقشته أعلاه. هل تقرأ مدونتي التاليةعلى حيث أدرجت أهم 75 سؤالًا وأجوبة للمقابلة والتي ستساعدك على التمييز في عملية المقابلة.

الآن بعد أن فهمت مجموعات Java ، تحقق من ملف من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذا 'الخيط الخفي في جافا'وسنعاود الاتصال بك في أقرب وقت ممكن.

كيفية ايقاف البرنامج في جافا