Les structures de données intrusives ne sont pas intrinsèquement meilleures ou pires que les structures de données non intrusives.
Le meilleur choix est de ne pas partager les données entre les threads. Si les threads ont besoin de partager des données, le deuxième meilleur choix est une structure de données en lecture seule, qui ne nécessite par conséquent aucune synchronisation.
Les structures de données partagées sont un chemin de communication entre les threads. En tant que tel, vous devez réfléchir soigneusement à la question de savoir si une structure de données directement partagée est le meilleur moyen de communication. De quoi avez-vous besoin de la structure de données? Une file d'attente de messages suffirait-elle? Avez-vous besoin d'un accès simultané aux mêmes données, ou est-ce que des threads différents accèdent à des parties distinctes de la structure de données?
Il n'y a rien sur les structures de données intrusives qui les rend meilleur ou pire que les alternatives pour l'utilisation multithread en général.
Ce ne serait pas plus facile si vos détails intérieurs sont mieux cachés des regards indiscrets. Facilite l'extension et l'utilisation et ne lie pas l'utilisateur aux détails internes. – DumbCoder
Donc vous parlez non intrusif alors? –
Pouvez-vous contraster vos besoins avec la discussion ici: http://stackoverflow.com/questions/928827/best-data-structure-for-this-multithreaded-use-case-is-intrusive-list-good –