آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

فرق بین Thread و Activity

hosseinAmini  11 سال پیش  11 سال پیش
0 0

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

اگر امکان داره ببینید که نتیجه گیریم از break و return  درست است؟
فرق بین break و return در این است که وقتی در حلقه for از return استفاده می کنیم اجرای دستورات علاوه براینکه از حلقه for خارج می شود دستورات بعد از حلقه هم اجرا نمی شود ولی break فقط دستورات داخل حلقه را اجرا نمی کند و دستورات بعد از حلقه را اجرا می کند.

0 0
در کل return باعث میشه همان لحظه متد به اتمام برسه، پس مطمئناً دیگر حلقه هم اجرا نمیشه دیگه. اما Break فقط به حلقه ای که مستقیماً داخلش هست خاتمه میده. ( توجه داشته باشید که if حلقه نیست ) (11 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Spirit  11 سال پیش
0 0

سلام ، نتیجه ای که از 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");
پاسخ به سوال 
mahdak  11 سال پیش
+1 0

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

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

0 0
مرسی (11 سال پیش)
پاسخ به سوال 
hosseinAmini  11 سال پیش
0 0

Spirit ممنونم از پاسخ و مثال خوبت.

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

0 0
بله درسته, مخصوصا برنامه هایی که برای موبایل نوشته می شن چون از نظر CPU و RAM با سخت افزار ضعیف تری نسبت به PC ها اجرا می شن Thread ها خیلی به نرم بودن و سرعت برنامه ها کمک می کنن. (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .