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

مشکل با thread sleep (تغییر سرعت با هر چرخش)

M.Karimi  10 سال پیش  10 سال پیش
0 0

سلام .

من یه پروگرس بار با تایمر معکوس دارم میسازم .از 20 ثانیه شروع میکنه .ه

میخوام هر ثانیه یک شماره بندازه . ولی وقتی با ترد اسلیپ کار میکنم مشکل ایجاد میشه و بعد از هر چرخه سرعت شمارش تغییر میکنه.

این کدهاش هستش..

  tmstartgamepp = new Timer();
tmstartgamepp.schedule(new TimerTask() {

@Override
public void run() {

Thread thread = new Thread(new Runnable() {

@Override
public void run() {

try {

percent = 0;

while (percent < 100) {

Thread.sleep(200);
prg_timer.setProgress(percent);

Log.i("LOG", "Percent " + ":" + percent);

percent++;

}
}
catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

// percent++;

}
});

thread.start();

}

}, 1, 20000);

این حلقه در هر 20 ثانیه اجرا میشه . و 100 تا میشموره و در هر شمارش 200تا اسلیپ میکنه . تا هم پروگرس نرم باشه و هم در 20 ثانیه اجرا شه. ولی گاهی ترد مشکل ایجاد میکنه و سرعتش تغییر میکنه...

0 0
up (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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