کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Java – چرخه ی حیات thread در Java

آموزش Java – چرخه ی حیات thread در Java

یک thread در آن واحد می تواند در یکی از 5 وضعیت (state) مختلف قرار داشته باشد. با توجه به گفته های شرکت Sun، تنها 4 وضعیت مختلف برای چرخه ی حیات thread در جاوا وجود دارد که عبارتند از: new، runnable، non-runnable و terminated. در جاوا وضعیتی به نام running برای thread وجود ندارد.

به منظور درک بهتر مفهوم thread ها، در آموزش حاضر به شرح 5 وضعیت مختلف می پردازیم.

در جاوا دستگاه مجازی یا JVM چرخه ی حیات thread را مدیریت می کند. وضعیت های مختلف thread در جاوا به شرح زیر می باشند:

  1. New (زمانی که thread برای اولین بار ایجاد می شود)
  2. Runnable (پس از ایجاد شدن، thread در وضعیتی قرار می گیرد که می تواند اجرا شود و به هنگام اجرا در وضعیت Running قرار می گیرد)
  3. Running (thread در حال اجرا می باشد)
  4. Non-Runnable (وضعیتی که در آن یک thread در حال انتظار بسر می برد یا مسدود شده و در نتیجه اجرا نمی شود)
  5. Terminated (خاتمه یافته یا متوقف شده)
آموزش Java

وضعیت New

پس از ایجاد نمونه از جنس کلاس Thread و قبل از فراخوانی متد start()، یک Thread در وضعیت New قرار دارد.

وضعیت Runnable

پس از فراخوانی متد start()، آبجکت thread در وضعیت runnable قرار می گیرد، اما از آنجایی که زمان بند اجرای thread ها (thread scheduler) هنوز آن را انتخاب نکرده است، آن thread در وضعیت running قرار ندارد.

وضعیت Running

هنگامی که زمانبند اجرای thread ها (thread scheduler) آن را انتخاب کرده است، thread به طور رسمی در وضعیت running قرار دارد.

وضعیت non-runnable (Blocked)

این وضعیتی است که در آن thread هنوز در حافظه موجود بوده و در حال انتظار است اما در حال حاضر اجازه ی اجرا ندارد.

وضعیت Terminated

هنگامی که متد run() کاملا اجرا شده و به انتهای بدنه ی خود می رسد، thread در وضعیت terminated یا dead قرار دارد. به عبارت دیگر زمانی که thread وظیفه ی خود را انجام داده و از بین برود، در این وضعیت قرار می گیرد.

1396/08/05 3554 1376
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...