• [^] # Re: Deux petites questions

    Posté par . En réponse à la dépêche Python 3.4 est sorti avec 7 nouveaux modules. Évalué à 2.

    Si j'utilise forkserver, est-ce ques les données en mémoire sont copiées pour chaque processus ou bien est-ce qu'on bénéficie encore du copy-on-write comme avec fork() ?

    Tout l'intérêt est d'éviter d'hériter des données (et surtout des ressources systèmes : fichiers ouverts, sockets, verrous...) du processus principal, donc la question ne se pose pas : pour passer des données au fils, il faut les sérialiser.

    Techniquement, cela fonctionne en lançant un premier processus fils indépendant (le forkserver) qui forkera un fils à chaque demande du processus principal : ainsi chaque fils forké l'est rapidement (fork() est rapide) mais il est entièrement vierge de toute donnée héritée du processus principal (il hérité des données du forkserver, mais il est léger).