Je travaille sur une bibliothèque de classes et j'ai opté pour un routage avec ma conception pour faciliter légèrement la mise en œuvre et la sécurité des threads, mais je me demande s'il n'y aurait pas une meilleure approche. Un bref contexte est que j'ai un algorithme heuristique multithread dans une bibliothèque de classes, qu'une fois mis en place avec un scénario devrait tenter de le résoudre. Cependant, je veux évidemment que ce soit thread safe et si quelqu'un apporte un changement à quoi que ce soit alors qu'il est en train de résoudre pour que cela provoque des plantages ou des erreurs. L'approche actuelle que j'ai est de savoir si j'ai une classe A, alors je crée un certain nombre d'instances InternalA pour chaque instance d'A. L'InternalA possède de nombreuses propriétés importantes de la classe A, mais est interne et inaccessible à l'extérieur de la bibliothèque. L'inconvénient de ceci, est que si je souhaite étendre la logique de prise de décision (ou laisser quelqu'un faire cela en dehors de la bibliothèque), cela signifie que je dois changer le code dans l'InternalA (ou fournir une sorte de délégué fonction).Conception de bibliothèque de classes Safe Thread
Est-ce que cela vous semble être la bonne approche?
Malheureusement, je ne pense pas que je peux faire des choses immuables. J'ai ajouté plus d'informations dans une autre réponse. – Ian