我刚注意到android线程中的暂停和恢复已被弃用。这个是什么工作或如何在android中挂起和恢复一个线程?
答案 0 :(得分:7)
实际上,在随机点暂停或停止线程是一个不安全的想法,这就是为什么不推荐使用这些方法的原因。
我认为你能做的最好的事情就是在你的主题的run
方法中使用固定的暂停点并使用wait
停在那里:
class ThreadTask implements Runnable {
private volatile boolean paused;
private final Object signal = new Object();
public void run() {
// some code
while(paused) { // pause point 1
synchronized(signal) signal.wait();
}
// some other code
while(paused) { // pause point 2
synchronized(signal) signal.wait();
}
// ...
}
public void setPaused() {
paused = true;
}
public void setUnpaused() {
paused = false;
synchronized(signal) signal.notify();
}
}