ban*_*dit 5 java multithreading android delay
我对Java线程有疑问.这是我的场景:
我有一个线程调用一个可能需要的方法.线程保持自己的方法,直到我得到结果.如果我以相同的方式向该方法发送另一个请求,现在有两个线程在运行(前提是第一个没有返回结果).但我想优先考虑最后一个线程,并且不希望从先前启动的线程中获得结果.那么当我没有停止方法时,我怎么能摆脱早期的线程呢?
标准设计模式是在线程中使用可以设置为停止它的局部变量:
public class MyThread extends Thread {
private volatile boolean running = true;
public void stop() {
running = false;
}
public void run() {
while (running) {
// do your things
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以平滑地终止线程,即无需抛出线程InterruptedException.
| 归档时间: |
|
| 查看次数: |
2134 次 |
| 最近记录: |