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

Stop کردن thread

MyNewName  11 سال پیش  11 سال پیش
+1 0

سلام

با دستور زیر به تمام thread ها دسترسی پیدا کردم

اما نمی دونم چطور میشه stop کردشون

ممنون میشم راهنمایی کنید

for (Thread t: Thread.getAllStackTraces().keySet()) {
            if (t.getState() == Thread.State.RUNNABLE) {
                // code for stop
            }
        }
0 0
کسی هست ؟ (11 سال پیش)
0 0
خب جای کد اینو بذارید شاید شد : thread.interrupt (11 سال پیش)
0 0
منم همین مشکل رو دارم از thread.interrupt هم استفاده کردم درست نشد (11 سال پیش)
0 0
نه تمام این کدها رو کامل تست کردم هیچ کدوم نشد (11 سال پیش)
0 0
سلام فکر کنم دربخش آموزشهای رایگان در قسمت listView طریقه stop thread گفته شده (11 سال پیش)
0 0
سلام فکر کنم دربخش آموزشهای رایگان در قسمت listView طریقه stop thread گفته شده (11 سال پیش)
0 0
ما همچنان منتظر جواب هستیم دوستان (11 سال پیش)
0 0
کسی هست کمک کنه؟ (11 سال پیش)
0 0
thread.stop() رو امتحان کردین ؟ (11 سال پیش)
0 0
thread.stop() رو امتحان کردین ؟ بله خب با تشکر اسپم شد نظرم و الان صرفا دارم جملمو طولانی میکنم تا اسپم نشه :-) (11 سال پیش)
0 0
این دستور حذف شده و نوشتن که نباید استفاده بشه (11 سال پیش)
0 0
من از این کد استفاده میکنم ولی کل اکتیویتی رو می بنده وترد ها رو هم غیر فعال میکنه: System.exit(0); (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
saeed_435  11 سال پیش
+4 0

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

   @Override
public void start() {
blinker = new Thread(this);
blinker.start();
}


public static void stopForce() {
blinker = null;
}

و شرط اجرای thread رو به شرط زیر تغییر بدید:

    while (Thread.currentThread() == blinker) 

در اینصورت با هربار اجرای تابع stopForce ،ترد متوقف میشه.

پاسخ به سوال 
atf  11 سال پیش
+1 0

 Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
while (true) {
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();
isLighOn = true;
Thread.sleep(30);
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
isLighOn = false;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread.start();

 

 این کل thread منه کجا باید اون دو کلاس رو اضافه کنم 

ممنون

+1 0
سلام آموزش counter استادو یه بار دیگه مشاهده گنین،یه کلاس ساختن که از thread ، اکستندز شده،شما دو متد بالا رو در اون کلاس قرار بدید و شرط while رو برابر شرطی که بالا گذاشتم بذارید. تو کدتون هرجا خواستن ترد متوقف شه از stopForce استفاده کنید تا ترد استاپ شه. (11 سال پیش)

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