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

مشکل در ترد ها کاستوم ویو

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

سلام چرا نمیشه ترد ها رو تو کاستوم ویو متوقف کرد ؟

من از این کد استفاده کردم ولی کار نکرد

یعنی متوقف نشد

 
private Thread renderThread; // in global write
renderThread = new Thread(new Runnable() {
@Override
public void run() {
while(!Thread.currentThread().isInterrupted()) {
try {
Thread.sleep(1000);
if (test > 9) {
Log.i("TAG",":|" + test);

Thread.currentThread().interrupt();
break;

}
test++;

}
catch (Throwable e) {e.printStackTrace();}
}
}
});
renderThread.start();

نظرات

Reza 8 سال پیش
سلام ، اون شرط داخل while خاصیتی نداره . یه فیلد boolean داخل کلاس تعریف کن و بذار داخل شرط . هر موقع خواستی thread رو متوقف کنی ، اون بولین رو false کن .این بهترین روشه .
hjmcoder 8 سال پیش
'renderThread.interrupt();'
فکوری 8 سال پیش
لینک اگر این کار رو بکنم فرض کار کنه ترد که بسته نمیشه
فکوری 8 سال پیش
لینک تست کردم تو کاستوم ویو این کار نمیکنه حتی کدی که استاد نوشته بود تو دوره اکلیپس که یک توپ ب.ود میفتاد پایین اونم هم تردش هیچ وقت تموم نمیشه
Reza 8 سال پیش
وقتی ترد شرطش false بشه ، دیگه کلا متوقف میشه .تنها راه متوقف کردن ترد اینه که دستوراتش تموم بشه . مثلا اگه حلقه دارین ، باید اون حلقه بشکنه و شرط 0 یا false بشه

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


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