У меня есть JButton, чтобы вызывать мою тему. Но то, что я на самом деле хочу сделать, это остановить поток сразу после одной минуты! Мой ActionListener Метод:Остановить тему сразу после одной минуты
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
new Frame2().setVisible(true);
Thread t=new Thread(new Frame2());
t.start();
}
Моя нить для запуска только одна минута выглядит следующим образом:
public void run(){
int i;
while(!Thread.currentThread().isInterrupted()){
for(i=0;i<=100;i++){
if(i==100){
Thread.currentThread().interrupt();
}
try {
Thread.currentThread().sleep(600);
} catch (InterruptedException ex) {
System.out.print("THREAD CLOSED");
return;
}
}
System.out.print("DOING THINGS BLA BLA");
}
}
Проблема: я остановил нить через одну минуту успешно , но я не смог ничего сделать в этом. Я просто хочу знать, как я могу достичь этого, чтобы запустить поток только на одну минуту, и внутри потока я хочу делать свои вещи! Но как? Неужели я ошибаюсь в этом подходе? Если да, то какой должен быть правильный подход?
Почему бы просто не делать то, что вы хотите, прямо перед тем, как вы вызовете «Thread.currentThread(). Interrupt();» ? –
Вы должны объяснить, что вы собираетесь делать в этой теме –