J'ai lu le "Real World Haskell" livre, le chapitre sur la simultanéité et le parallélisme. Ma question est comme suit:
Depuis Haskell threads sont vraiment juste des multiples "virtuel" threads à l'intérieur d'un "vrai" OS-fil, est-ce à dire que la création de beaucoup d'entre eux (genre 1000) n'aura pas un impact énorme sur les performances? I. e., peut-on dire que la charge de travail générée à partir de la création d'un Haskell avec du fil d'
forkIO
(ou presque) est négligeable? Veuillez apporter pactical des exemples si possible.Ne pas le concept de légers fils nous empêcher de l'aide de l'benefints des architectures multicœurs? Ce que je comprends, il n'est pas possible pour deux Haskell threads pour exécuter simultanément sur les deux cœurs, parce qu'ils sont vraiment un seul thread à partir du système d'exploitation du point de vue. Ou ne le Haskell runtime faire quelques trucs astucieux pour s'assurer que plusieurs CPU peut être fait usage de?