Bonjour
Comment est-il possible d'exploiter pleinement les possibilités d'un double coeur avec OCaml?
J'ai entendu parler de programmation concurrente, en créant plusieurs processus qui, si le système d'exploitation est pas trop bête, sont dirigés chacun vers un coeur du micro-processeur, mais comment la mettre en place concrètement?
Imaginons, j'ai une fonction de type bool -> 'a que je veux appliquer simultanément à true et false, sur deux threads différents, et je veux que dès que l'une de ces deux fonctions termine, je puisse récupérer le résultat dans le processus père pour en faire ce que je veux (et arrêter l'autre Thread qui tourne encore, j'ai besoin d'un seul résultat, peu importe d'où il vient)
Seulement dans le module Thread ils disent que le résultat est oublié dès qu'un processus termine, et qu'il n'est pas possible non plus de le faire passer par le biais d'une exception.
Comment faire alors?
Faut-il obligatoirement utiliser des Unix.pipe, read, write et compagnie?
Fractal
Partager