我想殺死一個特定的線程,但無法弄清楚它的工作方式。 我接下來包括所有信息,即使它看起來並不重要: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去。 –