我搜索了但沒有找到解決方案。 我有一個無限的遊戲循環在一個線程中運行。它非常長,所以當我退出我的應用程序並使用while(condition)時,它將繼續分別在Android中啓動另一個應用程序。 我該如何阻止它? 如果線程有中斷信號,我必須檢查每種方法嗎?如何突破長無限循環
回答
如果你的循環運行在另一個線程上,你可以創建你自己的自定義線程。簡單的添加一個停止方法,你就完成了。
的想法:
private boolean run = true;
public class MyThread extends Thread{
public void stopThread(){
run = false;
}
@Override
public void run(){
while(run){
//large code block
if(!run)break; //to make sure the thread will stop in time
//another large code block
}
}
}
只需調用myThread.stopThread()幾乎立即停止。
你也可以使用ASyncTask,它有一個方法cancel(boolean)來立即停止它。
但如果我有多個線程運行,我有一個線程啓動另一個匿名線程,我怎麼能阻止他們所有人在一起? – user3642735
同樣的答案,因爲那並不重要 –
這與Thread.stop()例如在onPause()中,但是如果我使用這個運行標誌,我也可以用這種方式解決它,但是如果我只想關閉活動,如果某些信息丟失,無所謂。順便說一句,我讀了asynctask應該只用於短時間,而不是像這個gameloop在一個線程? – user3642735
- 1. 突破我的無限循環
- 2. 如何打破無限循環
- 3. Java打破無限循環
- 4. 打破無限循環
- 5. OpenMPI突破循環
- 6. 突破_.each循環
- 7. 突破ajax循環
- 8. 如何突破一個while循環?
- 9. 每個循環的突破
- 10. 爪哇 - 突破內循環
- 11. 突破循環的問題
- 12. 如何突破無限而在Arduino的
- 13. 彙編:打破無限循環
- 14. 無限while循環有時打破
- 15. 用戶輸入打破無限循環?
- 16. 無限循環並尋找衝突Java
- 17. 如何做無限循環
- 18. Java的無限很長的循環
- 19. 如何在componentDidUpdate中打破無限循環reactjs
- 20. 如何破解Turtle Graphics Python中的無限循環
- 21. 如何在C中打破無限的(;;)循環?
- 22. 無限循環?
- 23. 無限循環:
- 24. 無限循環
- 25. 無限循環
- 26. 無限循環
- 27. 無限循環
- 28. 無限循環
- 29. 無限循環
- 30. (?無限)循環
我對這個問題的答案真的很感興趣,但對於短暫的無限循環。 – Emmanuel
在退出點處,放入System.exit(0)。 –