بيئة تشغيل هذا البرنامج التعليمي: نظام Windows 7، إصدار Java 10، كمبيوتر DELL G3.
1. جديد : المواضيع التي لم تبدأ بعد الإنشاء تكون في هذه الحالة.
2. قابل للتشغيل : يتضمن حالة التشغيل والجاهزية في حالة مؤشر ترابط نظام التشغيل، أي أن مؤشر الترابط في هذه الحالة قد يكون قيد التنفيذ، أو قد يكون في انتظار نظام التشغيل لتخصيص وقت التنفيذ له.
3. الانتظار : لن يتم تخصيص وقت تنفيذ المعالج للسلاسل في هذه الحالة، وعليها الانتظار حتى يتم إيقاظها بشكل صريح بواسطة سلاسل الرسائل الأخرى. ستؤدي الطريقة التالية إلى دخول الخيط في حالة انتظار:
لا تقوم طريقة Object::wait() بتعيين معلمة Timeout؛
طريقة Thread::join() بدون تعيين معلمة المهلة؛
طريقة LockSupport::park().
4. الانتظار المحدد بوقت : لن يتم تخصيص وقت تنفيذ المعالج للسلاسل في هذه الحالة، ولكنها لا تحتاج إلى الانتظار حتى يتم إيقاظها بشكل صريح بواسطة سلاسل الرسائل الأخرى، وسيتم إيقاظها تلقائيًا بواسطة النظام بعد فترة زمنية معينة. ستضع الطريقة التالية الخيط في حالة انتظار الموعد النهائي:
أسلوب Object::wait() مع مجموعة معلمات Timeout؛
طريقة Thread::join() مع مجموعة معلمات Timeout؛
طريقة LockSupport::parkNanos();
طريقة LockSupport::parkUntil().
5. محظور : تم حظر الخيط. الفرق بين "الحالة المحظورة" و"حالة الانتظار" هو أن "الحالة المحظورة" تنتظر الحصول على قفل حصري. سيحدث هذا الحدث عندما يتخلى مؤشر ترابط آخر عن القفل "حالة الانتظار" هي الانتظار لفترة من الوقت، أو حتى يحدث إجراء الاستيقاظ. سيدخل الخيط في هذه الحالة أثناء انتظار البرنامج للدخول إلى منطقة المزامنة.
6. تم الإنهاء : حالة الخيط المنتهي، انتهى تنفيذ الخيط.
ما ورد أعلاه هو الحالات الست لسلاسل Java، وآمل أن تكون مفيدة للجميع.
المزيد من دليل تعلم جافا: جافا تعليمي