💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ پوریا شفیعی
Threadاصلی
مهرداد حل شده توسط مهرداد

سلام

سوالی که داشتم این هست که ایا وقتی فرگمنتی روی MainActivity اجرا میکنیم ایا MainThread (ترد اصلی) در بدنه متد onViewCreated اجزا میشه یا باز هم در متد onCreate , کلاس اصلی؟ 

و کلا میخواستم بدونم نقش فرگمنت تاثیری در روند اجرای ترد‌ها داره؟

سوال دوم : ایا ترد هایی که میسازیم به ترتیبی که ساخته شدن همیشه اجرا میشوند؟ مثلا اگر ترد 1 دو دقیقه طول بکشه و ترد 2 یک دقیقه طول بکشه اول کدام ترد اجرا میشه؟

 

سلام.چیزی که من فهمیدم mainThread مربوط به onCreate کلاس MainActivity باشه.در مورد سوال دوم هم فکر کنم Threadها هربار که برنامه اجرا بشه ترتیب اجراشون فرق کنه یعنی لزومی نداره که به همون ترتیبی که نوشته شده،اجرا بشه.ولی به نظرم mainThread همیشه اول اجرا میشه.ببینیم نظر استاد چیه

mohammad arefi ۱۰ اسفند ۱۳۹۸، ۱۳:۴۳

سلام بنده هم یه ذره  به صحبت‌های محمد اضافه کنم

 

ببیند در واقع تو جاوا  و الان طبق مستندات   اندروید میشه گفت هر اپ ساخته میشه یه نخ  به اجبار داره  یعنی الان میشه گفت همه componentها و  همین متد onCreate همشون یه جورایی میشه گفت داخل این نخ (main threadیا ui thread )هستند 

اما فرگمنت (فرض بر این باشه از برنامه نویسی موازی یا parallel استفاده نشده باشه)فقط ممکنه بتونه  تو مدت زمان اجرای  نخ وقتی داره با cpu حرف میزنه بنظرم ممکنه تاثیر داشته باشه  

ادامه سوال قطعه (fragment) تون رو بگم 

ببینید  در جاوا  threadها  هر کدوم یک الویت دارند  اولویت هاشونم یه عدد بین ۱ تا ۱۰ (MIN__PRIORITYوMAX__PRIORITY) هست به طور پیشفرض هر thread که در جاوا ساخته میشه  عدد ۵ میگیرن (NORM_PRIORITY)   هر یک از thread‌ها که عدد بالا بالا‌تر داشته باشه زودتر هم میتونه با cpu حرف بزنه (البته میگن همیشه اینجوری نیست وممکنه thread الویت پایین‌تر هم بعضی وقتا زودتر اجرا بشه)

حالا اینجا یعنی همین فرگمنت مورد نظر اگر برنامه نویس  از نخ استفاده کرده باشه بله میتونه در روند اجرای نخ‌ها تاثیر بزاره

سوال اخرتون هم باید دید برنامه نویس می‌خواد کدوم زودتر اجرا بشه  تابعی به اسم interrupt در جاوا وجود داره که می‌تونه thread رو متوقف کنه و اجرا نشه

اولویت بین ترد ها

تفاوت sleep،wait،interrupt در thread

 چه تفاوتی بین مفاهیم Asynchronous و Multi Threading وجود دارد؟

لینک اخری  که می‌فرستم همینجوری فرستادم جالب بود گفتم پوریا هم بخونه :-)

نصب اندروید روی آیفون امکان پذیر شد

بهترین پاسخ
مهرداد ۱۶ اسفند ۱۳۹۸، ۲۲:۵۹