如何暂停和恢复线程?

问题描述 投票:0回答:1

我有一个帖子:

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();

我怎么能在以后恢复这个帖子?

谢谢!

android multithreading interrupt
1个回答
0
投票

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

wait()

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

notify()

唤醒正在此对象监视器上等待的单个线程。如果任何线程正在等待此对象,则选择其中一个线程被唤醒。选择是任意的,由实施决定。线程通过调用其中一个wait方法等待对象的监视器。

© www.soinside.com 2019 - 2024. All rights reserved.