6.12 mutex -- Supporto mutuamente esclusivo

Il modulo mutex definisce una classe che consente di implementare la mutua esclusione acquisendo e rilasciando i locks. Non richiede (o implica) threading o multi-tasking, anche se potrebbe essere utile per questi scopi.

Il modulo mutex definisce le seguenti classi:

class mutex( )
Crea un nuovo mutex (non locked (NdT: non bloccato)).

Lo stato di un mutex è composto di due elementi -- un bit ``locked'' ed una coda. Quando il mutex non è bloccato, la coda è vuota. Altrimenti, la coda contiene zero o più coppie (funzione, argomento) che rappresentano funzioni (o metodi) in attesa di acquisire il lock. Quando il mutex è non bloccato mentre la coda è non vuota, la prima voce nella coda viene rimossa e la corrispondente funzione (argomento) della coppia viene chiamata, implicando l'acquisizione del lock.

Naturalmente, non è implicato il multi-threading - da cui la simpatica interfaccia per il lock(), in cui una funzione viene chiamata dopo che il blocco è stato acquisito.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.