thread.stop ، thread.suspend ، thread.resume و recltime.runfinizersonexit تم التخلي عن طرق إنهاء مؤشرات الترابط ، ومن غير الآمن للغاية استخدامها!
1. تم تنفيذ الخيط بشكل طبيعي وينتهي بشكل طبيعي
وهذا هو ، دع طريقة التشغيل يتم تنفيذها وسينتهي الخيط بشكل طبيعي.
ولكن في بعض الأحيان لا يمكن أن تنتهي المواضيع أبدًا ، مثل (صحيح).
2. مراقبة بعض الشروط وإنهاء تشغيل مؤشر ترابط دون انقطاع
الحلقة () حلقة تحتاج إلى الخروج تحت حالة معينة. الطريقة الأكثر مباشرة هي تعيين علامة منطقية وتعيين هذه العلامة للتحكم في ما إذا كانت الحلقة تخرج.
يمتد Threadflag الفئة العامة Thread {Public Folatile Boolean Exit = false ؛ public void run () {when (! exit) {system.out.println ("running!") ؛ }} public static void main (string [] args) يلقي استثناء {threadflag thread = new threadflag () ؛ thread.start () ؛ النوم (1147) ؛ // يتم تأخير الخيط الرئيسي بمقدار 5 ثوانٍ. exit = true ؛ // إنهاء مؤشر ترابط الموضوع. Join () ؛ System.out.println ("Thread Exit!") ؛ }}3. استخدم طريقة المقاطعة لإنهاء الموضوع
إذا كان الخيط يحظر ، فلا يمكن استخدام الطريقة 2 لإنهاء مؤشر الترابط.
يمتد ThreadInterrupt Public Class thread {public void run () {try {sleep (50000) ؛ // تأخير 50 ثانية} catch (interruptedException e) {system.out.println (e.getMessage ()) ؛ }} public static void main (string [] args) يلقي استثناء {thread thread = new threadInterrupt () ؛ thread.start () ؛ System.out.println ("اضغط على أي مفتاح في غضون 50 ثانية لمقاطعة الخيط!") ؛ System.in.Read () ؛ thread.Interrupt () ؛ thread.join () ؛ System.out.println ("لقد خرج الموضوع!") ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.