J'ai dû écrire un programme avec du texte multithread en utilisant la bibliothèque ncurses pour le terminal Linux. J'ai essayé de le faire comme je le montre ci-dessous, mais ça marche mal. Avez-vous des idées pour vous organiser pour bien travailler?Sortie de texte multithread sans clignoter
#include <panel.h>
#include <pthread.h>
int main()
{
pthread_t t_out[5];
for(i=1; i<13; i++)
pthread_create(&t_out[i],NULL,&text_out,&i);
pthread_t refr[5];
pthread_create(&t_out[i],NULL,&refresh_all,NULL);
}
void text_out(void *coord)
{
int x = *(int *)coord;
int i;
for(i=1; i<10; i++)
{
move(i,x);
printw("*");
sleep(1);
}
}
void refresh_all()
{
while(1)
{
clear();
refresh();
sleep(1);
}
}
Veuillez être plus précis. Qu'est-ce qui fonctionne vraiment mal? –
à première vue, peu de choses sont en désordre dans l'extrait que vous avez collé. Le premier tableau t_out a la taille 5 et vous le déréférencer jusqu'à 12. Deuxièmement, vous avez probablement créé refr et jamais utilisé cela, et à la place, vous avez passé t_out à nouveau à pthread_create. – mawia
@mawia, vous avez absolument raison à ce sujet mais je l'écris comme ça seulement parce qu'il esquisse. Le problème principal est un clignotement du texte de sortie et j'ai blessé comment fixer le clignotement. – Max