nico88desmo
20-12-2010, 16:11
Ciao a tutti!
Mi sono imbattuto in un problema riguardante la funzione printf() in C sotto ambiente linux.
Il problema è il seguente; Considerando la seguente istruzione:
printf("ciao");
single-Thread: quando faccio la printf, questa viene immediatamente visualizzata sul terminale;
multi-Thread: quando faccio la printf in ciascun thread, la visualizzazione dei caratteri nel terminale avviene solamente quando il buffer stdout si è riempito completamente; se invece aggiungo il carattere \n nella printf - printf("ciao\n") - in questo modo la stampa a video avviene immediatamente;
Qualcuno sa spiegarmi il motivo?
Grazie in anticipo!
Mi sono imbattuto in un problema riguardante la funzione printf() in C sotto ambiente linux.
Il problema è il seguente; Considerando la seguente istruzione:
printf("ciao");
single-Thread: quando faccio la printf, questa viene immediatamente visualizzata sul terminale;
multi-Thread: quando faccio la printf in ciascun thread, la visualizzazione dei caratteri nel terminale avviene solamente quando il buffer stdout si è riempito completamente; se invece aggiungo il carattere \n nella printf - printf("ciao\n") - in questo modo la stampa a video avviene immediatamente;
Qualcuno sa spiegarmi il motivo?
Grazie in anticipo!