بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ایجاد وقفه در main thread بدون تاثیر گذاری روی کد های قبلی ؟ (حل شد)

مدیریت گفتگو
vahid 10 سال پیش
آخرین تغییر: 10 سال پیش

ایجاد وقفه در main thread بدون تاثیر گذاری روی کد های قبلی ؟

با سلام چطور میشه در ترد اصلی برنامه یا همان main thread وقفه ایجاد کرد، بدون اینکه روی زمان اجرای کد های قبلی تاثیر بزاره؟

چون همانطور که میدونید کد Thread.sleep(); علاوه بر تاثیر روی کدهای بعد از خود روی کدهای قبل از خودش هم تاثیر میزاره.

با تشکر از راهنمایی تون/

نظرات

کاشی زاده 10 سال پیش
علت اینکه میخواید روی main thread وقفه ایجاد کنید چی هست ؟
vahid 10 سال پیش
چند تا چراغ توی UI دارم که میخوام به ترتیب و با فاصله 50 میلی ثانیه از هم دیگه روشن بشن و همچنین میخوام کدهای بعدی هم بعد از اتمام روشن شدن همه چراغ ها اجرا بشن و نه همزمان با آنها .
کاشی زاده 10 سال پیش
خب راه صحیح تر این هست از Thread استفاده کنید و چراغ ها رو طی زمان بندی مشخص خاموش و روشن کنید و هر وقت کار ترد تموم شد متد مربوط به اجرای کد های بعدی را در آخر ترد صدا بزنید ، درواقع کد ها را داخل یک متد ببرید .
vahid 10 سال پیش
یعنی برای چیزی که من میخوام کدی وجود نداره ؟
vahid 10 سال پیش
منظورم بدون استفاده از thread ?
HoCoder 10 سال پیش
چیزی که به ذهنم میرسه این که شاید بتونی از Handler و متد postDelayed استفاده کنی برای کاری که میخوای بکنی
کاشی زاده 10 سال پیش
راه های مختلفی هست ولی sleep کردن ترد مین باعث قفل شدن UI شما میشه و این راه کاملا اشتباه هست .
vahid 10 سال پیش
تشکر از دوستان گرامی کاشی زاده و HoCoder با thread و handler و متد postDelayed تونستم راش بندازم. خیلی ممنون

هنوز پاسخی ثبت نشده است


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