/ / Le thread exécute une boucle infinie: ce comportement est-il normal? - Android, multithreading

Thread exécutant une boucle infinie: ce comportement est-il normal? - Android, multithreading

Je suis nouveau au multithreading. J'ai créé un thread qui exécute uniquement une boucle infinie, il exécute la fonction suivante:

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

}

Ce que je ne comprends pas, c’est pourquoi ma candidature estbloqué (c'est-à-dire que les autres threads sont endormis) lorsque ce thread est créé. Je veux dire, le thread fonctionne normalement (je vois les messages du journal), mais il semble qu'il soit antérieur à mes deux autres threads, de sorte qu'ils sont suspendus pour l'éternité. Le planificateur ne devrait-il pas s’occuper de cela et passer d’un thread à l’autre?

Détails: ce thread est créé à partir du côté c ++ à l'aide de std :: threads.

Réponses:

-1 pour la réponse № 1

Si vous voulez que le planificateur mette en pause votre thread, vous devez le laisser se relâcher et faire une pause périodiquement. Utilisez sleep ().