Soru & Cevap

Thread durdurma ...

09.07.2014 - 10:40

Uygulamada Threadı durdurmak istiyorum 

final thread pro=new thread(); ile threadi tanımlıyorum

durdurmak içinde 

pro.wait(); yazıyorum yalnız programdan çıkıyor hata alıyorum. Threadi nasıl durdurabilirim

379 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-1372-1408467635.jpg
ahmtbrk
09.07.2014 - 02:51

[code]


public class Task1 implements Runnable {

public void run() {

while (!Thread.currentThread().isInterrupted()) { ................ ................ ................ ................ }

}
 

[/code]

kullanımda şöyle.

[code]


Thread t1 = new Thread(new Task1());

t1.start();

t1.interrupt();

 

[/code]

picture-1372-1408467635.jpg
ahmtbrk
09.07.2014 - 12:16

Tekrar aynı threadi calıştırmak istersen terminate gibi bi methodda sen ekle içine active olsun adı mesela içinde tekrar true et isRunning değerini

Murat Güler
09.07.2014 - 12:34
ben çalışan bir threadi durdurup sonra kaldığı yerden tekrar devam etmesini istiyorum. Bunun içinde wait metodu kullanılıyormuş ama bende hata veriyor. Waiti kullanmayınca thread yine arka planda çalışmaya devam ediyor .
Ahmet Burak Demirkoparan
09.07.2014 - 01:57
tamam işte ben sana üstte çözümü verdim uygulaması kalıyor geriye
picture-1372-1408467635.jpg
ahmtbrk
09.07.2014 - 11:48

Özelleştirilmiş bir thread yazıp şu yolu kullanabilirsin.

[code]

public class CustomThread extends Thread{

boolean isRunning = true;

public void terminate(){

       isRunning = false;

}

 
@Override

public void run() {

while (isRunning) {

// yapılacaklar

}

super.run();

}

}

[/code]

Threadın bu olacak. kullanımında şöyle

[code]

CustomThread ct = new CustomThread();

ct.start();

[/code]

işinin bittiği yerdede şunu yapacaksın.

[code]ct.terminate();[/code]

Murat Güler
09.07.2014 - 12:30
bu komutlar işe yaramadı yazmadan önce nasılsa yazdıktan sonra da aynı