Le problème des instructions atomique est que dés que tu veux faire quelque chose d'un peu plus compliqué que juste changer une variable, ça deviens extrêmement difficile à programmer. Avec le ABA problem, et la gestion de la mémoire (comment peux-t-on libérer la mémoire si on ne sais pas si un thread n'a pas gardé un pointeur vers cette zone?).
Bref, la mémoire transactionelle est juste un moyen simplifié de faire des algorithmes un peux plus compliqués qui utilise test-and-set en interne.
[^] # Re: Exemple de gain avec la mémoire transactionnelle ?
Posté par Gof (site web personnel) . En réponse à la dépêche Sortie de la version 4.7 du compilateur GCC. Évalué à 4.
Le problème des instructions atomique est que dés que tu veux faire quelque chose d'un peu plus compliqué que juste changer une variable, ça deviens extrêmement difficile à programmer. Avec le ABA problem, et la gestion de la mémoire (comment peux-t-on libérer la mémoire si on ne sais pas si un thread n'a pas gardé un pointeur vers cette zone?).
Bref, la mémoire transactionelle est juste un moyen simplifié de faire des algorithmes un peux plus compliqués qui utilise test-and-set en interne.