Je renvoie, maintenant que la liste refonctionne :) On Wed, Dec 30, 2020 at 12:19:57AM +0100, Daniel Cordey wrote: > Perl, ni Bash). Par exemple :
Perl supporte le modèle classique UNIX (fork(2)), typiquement on peut lancer plein de programmes en parallèle en ouvrant des pipes, c'est très simple, ou même en appelant fork(2). Toutefois, Perl supporte aussi les threads, de différentes manières, assez différentes des threads des autres langages. Ce sont les Perl interpreter threads [1]: la différence principale est que les threads ne partagent aucune donnée par défaut (le partage est explicite par un mot-clé); cela ressemble beaucoup au modèle processus sans le besoin de shared memory ou l'overhead associé; dès que des données sont partagées des verrous sont nécessaires, et des deadlocks peuvent survenir. Si on veut juste des threads pour utiliser la puissance de calcul multi-core, il y a plus simple: MCE [2], qui peut utiliser une notion de scatter/gather, donc de grain de calcul. PS: j'ai été un gros utilisateur du passage de file descripteurs UNIX entre processus (style: le processus frontend traite les aspects bas niveaux du protocole, style authentification, puis on passe le fichier au processus qui s'occupe des données qui suivent); beaucoup plus efficace qu'un pipe. PS/2: et ce qui est sympa, sous Linux, c'est que clone(2) qui implémente fork(2) permet de tout faire: du thread au processus lourd, on choisit ce que l'on partage. [1] https://perldoc.perl.org/threads [2] https://metacpan.org/pod/MCE _______________________________________________ gull mailing list gull@forum.linux-gull.ch https://forum.linux-gull.ch/mailman/listinfo/gull