• # Et si un thread se fait toujours voler l'accès mémoire ?

    Posté par . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 1.

    Imaginons X thread qui doivent modifier la même variable.
    Imaginons que le premier thread mette trop de temps à faire ses calculs, selon la règle du premier qui comit gagne, le second vole son tour, le premier thread relance sa routine, et paf le 3éme thread lui vole son tour, ad libitum...
    Si le programme tourne 24/24 en faisant une rotation sur ses X threads, on se retrouve avec l'équivalent d'un dead lock, non ?
    Maintenant, si on sait que les X thread mettront un temps fini, ils finiront par "attraper le train", mais on pourrait se retrouver avec des threads qui font le traitement X-1 fois (voir +oo dans le cas d'un service 24/24).

    Autrement ça à l'air génial comme technique, mais il y a toujours un mais...