PDA

View Full Version : فرق Thread و Handler



master94
چهارشنبه 31 تیر 1394, 23:35 عصر
سلام...
میخواستم ببینم فرق این 2 تا با هم چیه؟ :متفکر:

از Thread جاهایی استفاده میکنیم که برنامه مون میخواد یه کار سنگین کنه و ازش استفاده می کنیم تا برنامه مون نرم تر اجرا شه
و خیلی وقت ها همین کارو با Handler میکنیم چون از Thread نمیشه استفاده کرد

ممنون میشم یه توضیح کوچیک در مورد فرق این 2تا بگین :قلب:

pbm_soy
پنج شنبه 01 مرداد 1394, 03:09 صبح
بطور خیلی خلاصه :

Thread همان پراسس شماست یا یک پراسس مستقل از پراسس اصلی برنامه شماست و به آن منابع جداگانه اختصاص داده میشود
ولی هندلر کلاسی است که بواسطه آن میتوانید با تردها در ارتباط باشید یا در واقع تردها میتوانند از طریق هندلر دادهایشان را به پراسس اصلی برنامه بفرستند

البته ناگفته نماند که asynctask این دو کار را باهم انجام میدهد یعنی خودش یک ترد است یا درواقع یک ترد ایجاد میکند برای اینکه کدی را در پس زمینه اجرا کند و از طرفی خیلی راحت وضعیت آن ترد را زیر نظر دارد و زمانی که اجرای آن تمام شده ویا داده ای دارد به عنوان خروجی آنرا خیلی راحت در اختیار شما یا همان کلاس اصلی و اینترفیس برنامه میدهد
تمام اینکارها بدون استفاده از کلاس هندلر ویا asynctask قابل پیاده سازی است صرفاً اندروید برای راحتی کار برنامه نویس این کلاسها را گذاشته است

master94
پنج شنبه 01 مرداد 1394, 09:40 صبح
ممنون از راهنمایی خوبتون :چشمک:

فقط یه سوال:

بعضی جاها توی برنامه مون (مثل کوئری زدن روی دیتابیس) برای اینکه نرم تر اجرا شه ، میایم از Thread استفاده میکنیم...حالا میخواستم ببینم اگه بجاش از handler هم استفاده کنیم،مثل Thread باعث نرم تر اجرا شدن برنامه مون میشه یا فقط Thread اینکارو میکنه؟ :متفکر:

مرسی ;)

zumbez
پنج شنبه 01 مرداد 1394, 15:21 عصر
دوست عزیز همونطور که براتون توضضیح دادن هندلر فقط برای ارتباط دادن ترد شما به ترد اصلی یا همون اینترفیس هست و فقط نقش واسط رو داره
در واقع شما برای نرم تر اجرا شدن برنامتون میاید از ترد استفاده میکنید اما با اون ترد جدیدی که ساختید نمیتونید چیزی رو به کاربر نمایش بدید(دسترسی به ترد UI ندارید) که این کار رو هندلر برای شما انجام میده
پس از اساس کار ترد و هندلر فرق داره....