Bonjour, j'ai un problème quant à un programme avec création de threads que je réalise.
Je vous explique ce que je code et qui ne fonctionne pas :
J'ai ma fonction principale, dans laquelle je créé plusieurs threads de la facon suivante :
for(i=0;i<nbvoiesPID;i++) { hThread [i] = CreateThread(NULL,NULL,Thread_SBA,(void *) &voiePID[i], NULL, &ThreadId); printf(" ID du thread %i : %i\n",i,ThreadId); }
"voiePID" correspond à une structure que j'ai déclaré afin de passer plusieurs paramètres.
Bon, le lancements des threads fonctionne bien.
Ma fonction principale continue a s'executer (les threads egalement car bouclés en while(1){...}) et j'appelle , à la suite dans cette fonction principale une autre fonction dans laquelle je fais passer en argument ma meme structure voiePID[i] :
fonction2(...,voiePID);Ma fonction2,dans son fonctionnement , modifie une variable globale , qui par sa modification, provoque un changement d'une valeur int de la structure voiePID[] dans l'un des threads.

(j'imagine que j'en ai perdu la moitier avec cette phrase...)
Ma fonction2 accede alors à la valeur int de la structure voiePID[] qui a été modifié dans le thread mais aucun changement n'est constaté pour cette valeur dans fonction2 ???
comment faire pour que la modif dans un thread soit notifiée dans la fonction2 ? Merci