0

私のアプリケーションでMainThreadは、SeperateThread

私はスレッドをほぼ完璧に機能させています。唯一の問題は、シャットダウンできないことSeperateThreadです。

public void run()
{
    isRunning = true;
    while(isRunning)
    {
        Log.d(TAG, "Running...");
        long currentTime = SystemClock.uptimeMillis();
    }
}

public void StopThread()
{
    isRunning = false;
}

seperateThread.StopThread();

次に、スレッドに、オフにするだけのメソッドがありvolatile boolean isRunningます。デバッガーをステップスルーしても、スレッドがブール値をオフに切り替えることに注意してください。

  • この種の問題の原因は何ですか?
  • これはスレッドをシャットダウンする最もクリーンな方法ですか?
  • スレッドをシャットダウンする他の手順はありますか?
  • Android のマルチスレッド化に何か問題はありますか?
4

2 に答える 2

0
isRunning = true;
while(isRunning)
{
    Log.d(TAG, "Running...");
    ...//Do something
}

while ループに休憩がありますか? それとも、isRunning = false を別の場所に設定していますか?

于 2012-08-08T02:27:41.337 に答える