Problème de passage de paramètre avec CreateThread

Problème de passage de paramètre avec CreateThread - C++ - Programmation

Marsh Posté le 09-05-2003 à 12:11:49    

Bon j'ai un code qui lance plusieurs Création de thread.
Le problème c'est que je veux passer un paramètre qui varie dans une boucle.
 
Et pour une raison que je ne connais pas, le parametre retenu dans le thread n'est pas celui qui devrait être (par exemple c = 3 au lancement du thread), mais c = 8 (c = 8 à la fin d'execution de la boucle)
 
En somme toutes mes threads sont lancées avec ce c=8.
Y a-t-il une solution ? dans mon cas, la variable est un char*.
 
merci de votre aide

Reply

Marsh Posté le 09-05-2003 à 12:11:49   

Reply

Marsh Posté le 09-05-2003 à 12:12:38    

Avec un bout de code ca aiderait :sarcastic:

Reply

Marsh Posté le 09-05-2003 à 12:14:18    

Code :
  1. while (!feof(P_FICHIER))
  2.      {
  3.       fscanf(P_FICHIER, "%s\n", url);
  4.       switch (c)
  5.       {
  6.              case 1 : t_1 = CreateThread(NULL, 0, launch, url, NULL, &dw1); break;
  7.              case 2 : t_2 = CreateThread(NULL, 0, launch, url, NULL, &dw2); break;
  8.              default : break;
  9.       }
  10.       c++;
  11.      }
  12.   fclose(P_FICHIER);

Reply

Marsh Posté le 09-05-2003 à 12:19:48    

Ben oui, c'est normal, faut que t'alloues une nouvelle chaine URL par thread.
Là c'est la même et comme elle change à chaque fois ...

Reply

Marsh Posté le 09-05-2003 à 12:24:43    

Euh t es sur que le parametre url (comem c lui ton param) vaut bien la bonne valeur ?
 
Pi c un lpvoid qui lui faut a mon avis tu passe pas le bon truc comme mm chaine achqaue fois


Message édité par VisualC++ le 09-05-2003 à 12:27:00
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed