如何暂停和恢复线程?

时间:2018-09-16 17:07:16

标签: android multithreading interrupt

我有一个线程:

class SomeRunnable implements Runnable {
    @Override
    public void run() {
        while (true) {
            //some code...
            try {
                Thread.sleep(33);
            } catch (InterruptedException e) {
                return;
            }
        }
    }
}

我开始使用的

someThread = new Thread(new SomeRunnable());
someThread.setName("SomeThread");
someThread.start();

如果我想停止线程,我只是中断它:

someThreat.interrupt();

以后如何恢复线程?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用wait()notify()方法。

wait()

  

使当前线程等待,直到另一个线程为此对象调用notify()方法或notifyAll()方法。换句话说,此方法的行为就像完全执行调用wait(0)一样。

notify()

  

唤醒在该对象的监视器上等待的单个线程。如果有任何线程在此对象上等待,则选择其中一个唤醒。选择是任意的,并且可以根据实现情况进行选择。线程通过调用其中一个wait方法在对象的监视器上等待。