В моем проекте на java swing есть 2 кнопки (начало/остановка) для подсчета.java thread not interrupt при запуске большого количества потоков
Когда я нажимаю кнопку «Пуск». Существует один поток (Thread-0), затем нажмите кнопку остановки «Thread-0», но при многократном нажатии кнопки запуска. существует много потоков, таких как Thread-5, Thread-6, .. Thread-10 работает.
Задача: Если щелчок начинается, а затем прекращается подсчет, это нормально. но нажимать начать много раз, это неверный подсчет.
кнопка запуска
private void btnStartActionPerformed(java.awt.event.ActionEvent evt) {
start();
btnStart.setEnabled(false);
btnStop.setEnabled(true);
}
кнопка остановки
private void btnStopActionPerformed(java.awt.event.ActionEvent evt) {
isEnable = false;
btnStop.setEnabled(false);
btnStart.setEnabled(true);
}
начало() метод:
isEnable = true;
Thread refreshPlan = new Thread() {
@Override
public void run() {
while(isEnable) {
try {
sleep(CYCLE_TIME * 1000);
PLAN += 1;
planValue.setText(String.valueOf(PLAN));
} catch (InterruptedException ex) {
//ignore
}
}
};
};
refreshPlan.start();
Может Я запускаю только один поток при многократном нажатии кнопки запуска? любое предложение? Благодарю.
извините за мой плохой английский.
для получения более точной информации о более раннем размещении [SSCCE] (http://sscce.org/), short, runnable, compilable, однако вопрос о Concurency in Swing ответил – mKorbel