[Tech] pthread

YuRiX yurix@firenze.linux.it
Dom 27 Ago 2000 15:09:38 CEST


salve acari,
sto cercando di usare glib per un programmino threadaware
ma incappo in un problema....nova eh ?

va buo', ecco il fatto io scrivo una main che avvia 10 thread chiamando

 pthread_create (&thread, &pthread_attr, (void *(*)(void *)) func, data);

la func che gli passo è banale dichiara delle variabili private per il thread
che entra al momento nella funzione e e inizia un loop di 10 iterazioni
per generare un numero casuale, questo:
  while (*indx<10){
    *current_number = rand(); 
    printf(" valore %d  per il thread 
%p interazione%d\n",*current_number,self_thread(),*indx);
    (*indx)++;
  }

ebbene quello che mi aspettavo di vedere è un mescolamento dell'esecuzione dei 
thread, invece una volta che un thread entra nella funzione non ne esce fino 
a che non ha completato il ciclo.
quello che non so è se questo comportamento è corretto perchè non ci sono
funzioni bloccanti oppure se ho sbagliato a scrivere qualcosa....boh!
a voi la soluzione. 

----------------------------------
E-Mail: YuRiX <yurix@firenze.linux.it>
Date: 27-Aug-2000
Time: 15:01:36

This message was sent by XFMail
----------------------------------





Maggiori informazioni sulla lista flug-tech