قضايا التفاصيل متعددة مؤشرات الترابط
أوجه التشابه والاختلاف بين طريقة النوم وطريقة الانتظار؟
أوجه التشابه:
اترك الموضوع في حالة مجمدة.
الاختلافات:
يجب أن يحدد النوم الوقت
الانتظار يمكن أن يحدد الوقت أم لا
وقت النوم يرتفع ، والخيط في حالة حظر مؤقت أو حالة تشغيل
إذا لم يكن لدى الانتظار وقت ، فيجب إيقاظه من خلال الإخطار أو الإخطار
لا يجب تعريف النوم في المزامنة
يجب تحديد الانتظار في التزامن
عندما يتم تعريف الجميع في التزامن
يطلق النوم حقوق التنفيذ ، وليس الأقفال
انتظر لإطلاق حقوق التنفيذ ، قفل
syschronized (obj) {wait () ؛ // 0 1 2 code ...} syschronized (obj) {etrifyall () ؛ // 3 code ...}كيفية إيقاف الموضوع
طريقة توقف
طريقة التوقف قديمة. لقد وجدت أن هناك حلول أخرى بعد قراءة الوصف.
نهاية الموضوع: دع رمز مهمة مؤشر الترابط يتم تنفيذها وينتهي طريقة التشغيل
كيف تنهي طريقة التشغيل؟
من خلال تحديد حلقة
ملاحظة: هل لا يزال يحكم على العلامة إذا كان الخيط في حالة مجمدة في المهمة؟
لا تعني حالة المقاطعة المزعومة إيقاف الخيط.
تسبب حالة المقاطعة في حالة انتظار الخيط الهدف لفترة طويلة ، يجب استخدام طريقة المقاطعة لمقاطعة الانتظار حتى لا يسمى ما يسمى بمقاطعة الإيقاف.
تتمثل وظيفة المقاطعة في مسح حالة تجميد الخيط واستعادة حالة التشغيل إلى مؤشر الترابط (دع مؤشر الترابط يعيد تأهيل تنفيذ وحدة المعالجة المركزية).
نظرًا لأنه إلزامي ، سيكون هناك استثناء من المقاطعات ، ويمكنك التقاط استثناءات في الصيد.
في معالجة الاستثناء ، قم بتغيير العلامة لإنهاء الحلقة واترك طريقة التشغيل تنتهي.
خيط الخفي
مؤشر ترابط الخفي: يمكن أيضًا فهمه كخيط خلفية ، والمواضيع المقدمة التي تم إنشاؤها من قبل جميعها مؤشرات ترابط مقدمة.
طالما استدعاء الخيط setDaemon (صحيح) ؛ يمكن تمييز الخيط كخيط خفي.
تكون مؤشرات ترابط الخلفية الأمامية هي نفسها عند التشغيل ، والحصول على حقوق تنفيذ وحدة المعالجة المركزية.
فقط عندما ينتهي يختلف قليلاً.
يجب أن ينتهي الخيط الأمامي من خلال طريقة التشغيل ويجب أن ينتهي مؤشر الترابط.
يمكن أن ينتهي مؤشر ترابط الخلفية أيضًا مع طريقة التشغيل ، وينتهي مؤشر الترابط. هناك موقف آخر.
عندما تكون جميع المواضيع الأمامية في نهاية العملية ، بغض النظر عن الحالة التي يوجد فيها مؤشر ترابط الخلفية ، سينتهي ، وستنتهي العملية.
تنتهي العملية مع الخيوط الأمامية كلها تعتمد عليها.
أولوية الموضوع
أولوية الموضوع: تم تحديدها بالأرقام ، 1-10
من بينها ، الأولوية الأولية الافتراضية هي 5 وأبرز مستويات الأولوية الثلاثة هي 1 و 5 و 10.
setPriority (thread.max_priority) ؛
مجموعة الموضوع
مجموعة مؤشرات الترابط: Threadgroup: مجموعة مؤشرات الترابط التي ينتمي إليها كائن مؤشر الترابط الجديد يمكن تحديدها من خلال مُنشئ مؤشر الترابط.
تتمثل فوائد مجموعات الخيوط في أنه يمكنها إجراء عمليات موحدة على مؤشرات ترابط متعددة في نفس المجموعة.
بشكل افتراضي ، ينتميون جميعًا إلى مجموعة الخيوط الرئيسية.
فئة داخلية مجهولة
RunNable rn = new RunNable () {public void run () {}} ؛ // الكود أعلاه يعادل الفئة الأدوات الذاتية runnable {public void run () {}} rnnable rn = new anomymous () ؛شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!