فرق بین Thread و Activity
سلام
استاد در بخش InterFace ها در قسمت استفاده از interface به عنوان Listener کلاس DataReceiver را به جای extends کردن از Activity از extends,Thread کردید.
حالا می خوام فرق بین Thread و Activity رو بگید و آیا از Thread به این دلیل استفاده کردید که بتوانیم متده run را override کنیم و 1ثانیه مکث کنیم؟
اگر امکان داره ببینید که نتیجه گیریم از break و return درست است؟
فرق بین break و return در این است که وقتی در حلقه for از return استفاده می کنیم اجرای دستورات علاوه براینکه از حلقه for خارج می شود دستورات بعد از حلقه هم اجرا نمی شود ولی break فقط دستورات داخل حلقه را اجرا نمی کند و دستورات بعد از حلقه را اجرا می کند.


سلام ، نتیجه ای که از break و return گرفتی کاملا درسته ، مثال :
break
for (int i = 0; i < 50; i++) {
System.out.println("i is = " + i);
if (i == 25) {
break;
}
}
System.out.println("after for statement");
return
for (int i = 0; i < 50; i++) {
System.out.println("i is = " + i);
if (i == 25) {
return;
}
}
System.out.println("after for statement");

Activity و Thread هر دو کلاس های آماده ای هستند که ما با extends کردن از اونها می خواهیم از ویژگی های خاصی که هر کدوم در اختیارموون می ذارن استفاده کنیم, مثلا Activity کلاسی است که در اندروید به شما این امکان رو می ده که یه صفحه گرافیکی که بصورت xml تعریف کردید رو داینامیک کنید یعنی مثلا دکمه ای داشته باشه که با کلیک بر روی اون یه اتفاقی بیافته و مثالهایی از این قبیل, ولی حالا کلاس Thread بحث کاملا متفاوتیه و ما از این کلاس برای زمانی استفاده می کنیم که می خواهیم همزمانی رو در برنامه داشته باشیم مثلا کاربر با کلیک به روی یه دکمه یه محاسبات زیادی قراره در برنامه انجام بده در همین حین یه دکمه دیگری رو هم کلیک می کنه که یه نموداری روببینه اگر شما محاسبه زیاد رو توسط یه Thread انجام ندین وقتی کاربر دکمه محاسبات زیاد رو کلیک کنه کلا UI بلاک می شه تا عمل محاسبه بطور کامل تموم بشه بعد کاربر خواهد تونست دکمه نمودار رو کلیک کنه و این دو همزمان اتفاق نخواهند افتاد.
یا یه مثال واضح تر می تونه سیستم عامل باشه وقتی یه آهنگی رو توسط MediaPlayer پخش می کنین آهنگ داره می خونه شما همزمان یه فایلی رو گذاشتین دانلود بشه همزمان داره یه داده ای روی سی دی رایت می شه همه اینها کاملا مستقل دارن انجام می شن و هیچ کدوم معطل اون یکی نیست و این همزمانی فقط توسط Thread ها ممکن می شه. (خیلی سعی کردم خلاصه و شفاف توضیح بدم امیدوارم بتونه مفید باشه)

Spirit ممنونم از پاسخ و مثال خوبت.
mahdak ممنونم از توضیحات کامل و مثال ساده ای که زدید واقعا مفید بود.ببینید نتیجه گیریم درسته؟
دلیل استفاده از Thread ها اجرای همزمان چندین دستور در برنامه بدون مکث کردن و کاهش سرعت برنامه است.مثل همین مثالی که شما برای ویندوز زدید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .