使用Runnable类

时间:2016-06-01 09:58:43

标签: java multithreading runnable

我有一个Class来实现Runnable。我在一个线程中使用此类,并尝试暂停它,然后使用某种boolean标志再次重新启动它。这是我的代码:

class pushFiles implements Runnable{    
    private volatile boolean running = true;

    public void run () {
        .
        .  some code
        .
        while (running){
            .
            .  more code
            .
        }
    }

    public void stop() {
        running = false;
    }

    public void start() {
        running = true;
    }
};

我正在尝试使用stop方法暂停线程,并使用start方法重新启动它。

stop方法实际上会停止/暂停线程,但start方法不会让它再次运行。

初始化我使用的线程时:

runnable = new pushFiles();
thread = new Thread(runnable);
thread.start();

我做错了什么?可以取消暂停线程吗? 我该怎么做?

1 个答案:

答案 0 :(得分:3)

while (running){
            .
            .  more code
            .
        }

因此当running为false时,您的run()方法退出,您的主题将不复存在。

Here's an example of how to do what you want,使用wait() / notify()