2010-09-21 3 views
1

Je rappelle un modèle de conception pour gérer les problèmes de verrouillage en C++ (où certains verrous ne sont pas rentrants) en séparant les méthodes en méthodes 'externes' et 'internes' . Les externes acquièrent des verrous et peuvent appeler des verrous internes qui, à leur tour, affirment que les verrous sont maintenus. Les externes ne peuvent pas appeler d'autres externes (parce que cela entraînerait un blocage) et pour la même raison, ceux internes ne peuvent pas appeler ceux externes. Est-ce que quelqu'un se souvient du nom de ce modèle?Nom du modèle de conception verrouillable (celui avec méthodes internes)

+0

Il semble grossier en ce qui concerne le design ... –

Répondre

1

Je ne pense pas que ce soit vraiment un modèle de conception - pour moi, c'est une pratique d'implémentation destinée à prévenir les blocages, et à les détecter en cas de mauvaise utilisation de la classe.

EDIT: Cependant, Douglas Schmidt est en désaccord donc je suppose que c'est un modèle.

+0

Pourtant, il a un nom et je me souviens distinctement d'en avoir lu dans un livre de modèles ... –

0

Ce modèle s'applique non seulement aux verrous et aux unités d'exécution, mais également à de nombreuses autres situations dans lesquelles une API doit "configurer quelque chose", faire quelque chose avec elle, puis l'annuler. Les exemples historiques incluent les API commutées sur leur propre pile, ou les systèmes matériels graphiques qui seraient stockés en mémoire, manipulés et mis en banque.

Questions connexes