[PERL] Problême de data sharing entre plusieurs threads...

Problême de data sharing entre plusieurs threads... [PERL] - Perl - Programmation

Marsh Posté le 04-04-2003 à 16:07:04    

En fait, voilà le contexte :
Je voudrais avoir une thread qui ecrit des données dans un buffer ( un array en fait @buffer ) et plusieurs threads qui lisent dans ce même buffer.
 
Comment faire, donc, pour partager un array entre plusieurs thread :??:
 
Et 2ème question, est-il possible de partager des objets entre plusieurs threads :??:
 
Meeerchi  :jap:


---------------
Nicolede @ Illidan (drood spé aspirine)
Reply

Marsh Posté le 04-04-2003 à 16:07:04   

Reply

Marsh Posté le 04-04-2003 à 16:29:50    

pour faire tes "threads", tu fais des fork, non?  
RTFM!!!!(ALORS LIRE LA PU**** DE DOCS!)
 
 
EDIT: d'autres parts, il y a mieux comme langage de programmation multi-threading


Message édité par western le 04-04-2003 à 16:30:52
Reply

Marsh Posté le 04-04-2003 à 16:57:09    

Oué oué, je sais merci...rtfm...merci pour ton aide  :heink:  
 
Pour le perl, si j'avais le choix je l'aurais pas pris...
 
Bon, une autre idée (constructive celle là)...


---------------
Nicolede @ Illidan (drood spé aspirine)
Reply

Marsh Posté le 05-04-2003 à 00:17:01    

Tu peu utiliser les threads de Perl 5.8 (les ithread, car le modele de thread des verison precedentes est deprecated)
 
Par defaut, aucune varibale n'est partagée entre tes threads, et tu dois donc les partager explicitement:
 

Code :
  1. use 5.008;
  2. use threads;
  3. use threads::shared;
  4. our @buffer : shared;
  5. threads->create(sub {push @buffer, "test"})->join();
  6. print $buffer[0];


 
Deux articles interessants de perl.com sur les threads:
http://www.perl.com/lpt/a/2002/09/04/threads.html
http://www.perl.com/lpt/a/2002/06/11/threads.html
et aussi la doc activeperl evidement

Reply

Sujets relatifs:

Leave a Replay

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