Verrous complexes
Un verrou Complexe peut fournir un accès partagé ou exclusif à une ressource telle qu'une structure de données ou un périphérique.
Les verrous complexes ne sont pas récursifs par défaut (mais peuvent être récursifs) et ont trois états: écriture exclusive, lecture partagée ou déverrouillé.
Si plusieurs unités d'exécution exécutent des opérations de lecture sur la ressource, elles doivent d'abord acquérir le verrou correspondant en mode lecture partagée. Etant donné qu'aucune unité d'exécution ne met à jour la ressource, il est sûr que tous les lire. Toute unité d'exécution qui écrit dans la ressource doit d'abord acquérir le verrou en mode d'écriture exclusive. Cela garantit qu'aucune autre unité d'exécution ne lira ou écrira la ressource pendant sa mise à jour.