Sono nuovo del multithreading. Ho creato un thread che esegue solo un ciclo infinito, esegue la seguente funzione:
while (1)
{
__android_log_print(ANDROID_LOG_VERBOSE, "from thread3", "from thread3", 1);
}
Quello che non capisco è perché la mia domanda èbloccato (ovvero gli altri thread sono addormentati) quando viene creato questo thread. Voglio dire, il thread funziona normalmente (vedo i messaggi di registro), ma sembra che preceda i miei altri due thread, quindi sono eternamente in pausa. Lo scheduler non dovrebbe occuparsene e passare da un thread all'altro?
Dettagli: questo thread è creato dal lato c ++ usando std :: thread.
risposte:
-1 per risposta № 1Se vuoi che lo scheduler metta in pausa il tuo thread, devi lasciarlo andare e mettere in pausa periodicamente. Usa sleep ().