/ /無限ループを実行するスレッド:この動作は正常ですか? -アンドロイド、マルチスレッド

無限ループを実行するスレッド:この動作は正常ですか? - アンドロイド、マルチスレッド

マルチスレッドは初めてです。無限ループのみを実行するスレッドを作成しました。次の関数を実行します。

while (1)
{
__android_log_print(ANDROID_LOG_VERBOSE, "from thread3", "from thread3", 1);

}

私が理解していないのは、私のアプリケーションがなぜこのスレッドが作成されたときにブロックされます(つまり、他のスレッドはスリープしています)。つまり、スレッドは正常に実行されています(ログメッセージが表示されます)が、他の2つのスレッドよりも先に停止しているように見えるためです。スケジューラはこれを処理してスレッドを切り替えるべきではありませんか?

詳細:このスレッドは、std :: threadsを使用してc ++側から作成されます。

回答:

回答№1の場合は-1

スケジューラーにスレッドを一時停止させたい場合は、定期的に解放して一時停止させる必要があります。 sleep()を使用します。