آموزش Thread در جاوا
آموزش Thread در جاوا بخش 1
Multi Thread
کمتر پیش آمده در نرم افزارهای جدید از همزمانی(Multi Threading) استفاده نشود. بسیاری از نرم افزارهای امروزه از همزمانی استفاده میکنند که باعث سرعت کار ما می شود. با پیشرفت سخت افزار ها امکان همزمانی بیشتر از قبل شده است. به طور کلی همزمانی در برنامه بدین معناست که برنامه شامل دو یا چند قسمت است که همزمان اجرا می شوند و هر قسمت فرآیند متفاوتی را اجرا می کنند.
وقتی که چند فرآیند منبع یا منابعی را به اشتراک میگذارند مانند CPU، چند وظیفه ای (multi tasking) میگویند. Multi threading ایده multi tasking درون برنامه ها گسترده کرده است به طوری که شما توانایی تقسیم یک عملیات به یک یا چندین thread مجزا را دارید.هر کدام از این thread ها میتوانند به صورت همزمان اجرا شوند.
چرخه حیات Thread
یک Thread (منظور thread در جاوا) در چرخه حیات خود وضعیت های مختلفی را دارد مانند:
- New: در این وضعیت Thread چرخه حیات خود را آغاز میکند.تا زمانی که شروع به کار نکرده Thread در همین وضعیت باقی خواهد ماند.
- Runnable: بعد از زمان کوتاهی Thread تازه ساخته شده وارد این وضعیت شده است. در این وضعیت thread را در حال اجرا یک فرآیند در نطر میگیرند.
- Waiting: گاهی اوقات یک thread منتظر تمام شدن یک thread دیگر است در این حالت thread در وضعیت waiting قرار دارد. بعد از اتمام انتظار (وقتی thread دوم تمام شد) وضعیت thread به Runnable می رود.
- Dead: وقتی فرآیند تمام شود Thread به وضعیت Dead میرود.
- Running: وضعیت اجرا یک Thread
سلام دوست عزیز
من یه سوال داشتم
من دو تا اکتیویتی دارم تو برنامم و تو اکتیویتی اول یه ترید دارم حالا می خوام وقتی از اکتیویتی اول به دومی می رم یا بر میگردم ترید مشکل پیش نیاد باسش.
الان یا بسته میشه و هر بار که به اکتیویتی اول میام دوبار ایجاد میشه که با یه فلگ برای اینتنت این مشکل حل شد ولی دستورات ترید تو اکتیویتی دوم کار نمی کنه ؟؟؟؟؟
یا یجورایی ترید کلی تو هر چند تا اکتیویتی که داشتم فعال باشه و تا برنامه بسته نشده از بین نره؟؟؟؟؟؟؟؟؟؟؟؟؟؟