функция остановки качания Java - PullRequest
0 голосов
/ 08 февраля 2012

У меня проблема при попытке остановить процесс во время выполнения. Мой процесс состоит из парсера CSV. Я намеревался создать кнопку запуска, которая будет запускать парсер csv, и кнопку остановки, чтобы остановить парсер csv. Я использовал функцию system.exit (), вся программа закрывается. Что я хочу сделать, это просто прервать функцию CSV. Когда я использую thread.sleep (), там останавливается кнопка остановки, и нет возможности нажать кнопку запуска. Большое спасибо!

private void stopActionPerformed(java.awt.event.ActionEvent evt) {                                         
st = 0;
if (st = 0)
{ }



}                                        

private void startActionPerformed(java.awt.event.ActionEvent evt) {                                      
st =1;
if (st = 1){
Start1 test = new Start1();
test.sbutton();}

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Используйте Thread.sleep (Time), но не забудьте запустить ваш парсер csv в отдельном потоке.Если у вас есть только один поток, то все ваше приложение зависает.Например:

class ParserStarter implements Runnable{
    void someMethodWhereYouStartParser(){
       Thread t=new Thread(this);
       t.start();
    }
    public void run(){
        CSVParser cp=new CSVParser();
    }
}
class CSVParser{
  //here you can write your start/stop logic using Thread.sleep();
}
1 голос
/ 08 февраля 2012

Согласно приведенной информации, попробуйте это следующим образом,

  1. Создайте новый поток.
  2. Выполните синтаксический анализатор csv или любой другой из нового потока.
  3. Если вы хотите прекратить это, уничтожьте ветку.

Если это не помогло, опубликуйте перефразированный вопрос с помощью SSCCE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...