我想杀死一个特定的线程,但无法弄清楚它的工作方式。 我接下来包括所有信息,即使它看起来并不重要:android杀死操作栏上的特定线程事件
我使用操作栏sherlock并希望杀死操作按钮事件上的线程。所以,我有:
Thread myThread;
myThread = new Thread(new Runnable(){
public void run(){
functionX();
}
});
myThread.start();
此线程是一个长时间运行的线程,funcionX()也创建一些新线程。 我想,当杀死线程:
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
case android.R.id.home:
myThread.interrupt();
break;
};
我试着ExecutorService的使用提出(可运行),为未来的结果和Future.cancel但似乎并不工作。 我还应该提到functionX()使用http get请求从JSON服务中获取数据。
+1。建议2是我会用的。如果你正在快速循环一个线程,只需将它包含在顶层,否则通过代码有几个。在处理饥饿的部分之前。 – Doomsknight
谢谢。我会用技巧2去。 –