• [^] # Re: Des bonnes idées

    Posté par . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à 0.

    Ce que dit wikipedia c'est qu'un process qui tiens 25 green thread qui se fait prempt va prempt les 15greens threads seront préemptés... C'est assez logique.

    Je ne dis pas le contraire. Ce qui se fait dans le scope d'un process reste vrai et vu qu'un thread (green ou non) est encapsulé dan un process, il sera forcément dépendant des interruptions/reprises de ce dernier.
    Mais tu pars du postulat qu'il n'y a pas de context switching dans les green thread ce qui me semble tout à fait erroné.
    Dès qu'il y a de la concurrence, c'est inévitable.
    La seul différence c'est que c'est géré en espace utilisateur : c'est donc l'algo de ton langage qui s'occupe d'ordonnancer et non les routines de ton kernel.
    (Ça permet sans doute d'uniformiser les comportements entre architectures physiques et OS mais bon ça reste du détail)

    Comme tu le dis précédemment, le risque du context switching c'est que quand il n'y en a trop, ça devient plus long que du synchrone :
    c'est pour ça que tu trouveras aussi bien dans les process, thread que green thread la possibilité de donner une limite d'opérations en simultannés.
    Bref, rien n'est scalable à l'infini, tout à des limites physiques.