تفاوت متد های join, sleep و wait در جاوا چیست؟

+2 رأی
میانگین بازدید روزانه 1.1433 بازدید

در جاوا متد های join, sleep و wait چه تفاوتی با هم دارند؟

سوال 4 هفته قبل در تالار برنامه نویسی توسط Reza.R (618 امتیاز)

1 جواب

+2 رأی
 
بهترین جواب
هر ۳ تا متد در بحث هایMultiThread استفاده میشه

متد Sleep باعث میشه که Thread برای اون زمانی که مشخص کردین متوقف بشه و بعد از اون زمان اجراش رو ادامه میده

متد join : فرض کنید که ما در Main Thread هستیم و تویه این Thread میگیم mythread.join که در این حالت

Main Thread تا زمانی که کاره ترد mythread تموم بشه باید متوقف بشه و بعد از تموم شدن کاره اون Main Thread بیدار میشه و به اجراش ادامه میده

متد wait یک مقدار بحثش جدی تره

فرض کنید که ما ۲ تا Thread داریم t1 و t2 و یک ابجکت هم بنام obj داریم که این ابجکت بین این ۲ تا Thread مشترک است  ( یعنی Shared object داریم )

نقش t1 اینکه یک مقدار رو تویه اون ابجکت بزاره و t2 بره اون مقدار رو بخونه

حالا اگر t2 زودتر بره تویه اون ابجکت رو بخونه و مقداری که لازم داشت رو پیدا نکنه. رویه اون ابجکت با obj.wait میره تویه wait . تا زمانی که t1 بیاد اون مقداری که باید تویه obj میذاشته رو بگذاره و بعد از اینکه گذاشت بگه obj.notify که هر Thread ی که رویه این ابجکت wait شده بیدار بشه و بره اون مقدار رو بخونه و کارشو انجام بده

 

سناریو ۲

ببین مثل همین سوال پرسیدن شما

شما نیاز به یه جواب داری و wait شدی که یکی بیاد این جواب رو بده

من اومدم این جواب رو نوشتم و بعد گزینه ارسال رو میزنیم و فرض کنید که یک alert ی برای شما میاد که جوابت امادس ( که این همون notify کردنس )

حالا شما که wait این سوال بودی میای این جواب رو میخونی و میری کاری که میخواستی انجام بدی رو انجام میدی و تمام

 

موفق باشین
جواب 3 هفته قبل توسط یوری (381 امتیاز)
ویرایش 3 هفته قبل توسط یوری

سوال های مشابه

0 رأی
3 جواب میانگین بازدید روزانه 0.1166 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.25267 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.833 بازدید
سوال 1 ماه قبل در تالار برنامه نویسی توسط Reza.R (618 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.2258 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.6441 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.6726 بازدید
سوال 1 ماه قبل در تالار برنامه نویسی توسط Reza.R (618 امتیاز)
0 رأی
0 جواب میانگین بازدید روزانه 0.1344 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.23227 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.25276 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.0784 بازدید
کانال تلگرام جواب یاب
...