Я пытаюсь найти способ прервать поток, который в настоящее время цикличен бесконечно. С моим опытом я попытался создать второй поток, который прерывал бы первый, который бесконечно цикличен, но, конечно, из-за бесконечного цикла ... первый поток никогда не достигнет функции сна. Так что теперь я вернулся к этомуЗавершение одного потока (looping) с использованием другого потока
public class Pulse{
private static int z = 0;
public static void main(String[] args) throws Exception {
try {
final long stop=System.currentTimeMillis()+5L;
//Creating the 2 threads
for (int i=0; i<2; i++) {
final String id=""+i+": ";
new Thread(new Runnable() {
public void run() {
System.err.println("Started thread "+id);
try{
while (System.currentTimeMillis() < stop) {
//Purposely looping infinite
while(true){
z++;
System.out.println(z);
}
}
} catch (Exception e) {
System.err.println(e);
}
}
}).start();
}
} catch (Exception x) {
x.printStackTrace();
}
}
}
Похоже, это может быть простофиля нескольких ... один пример того: http://stackoverflow.com/questions/4472611/java-kill- или-terminate-a-thread - часть 'using another thread' является коровой неявной. –