Lock e condivisione di oggetti...

di Andrea Zani, in .NET,

La sincronizzazione tra thread e di oggetti comuni è un particolare da non prendere sottogamba visti i problemi difficilmente risolvibili che potrebbero nascere una volta che l'applicazione sia utilizzata in un'ambiente di esecuzione reale.

Il Frameowork mette a disposizione molte tecniche per evitare problemi in caso di accesso contemporaneo di oggetti comuni a più thread. Si guardi la classe Monitor di cui avevo discusso in precedenza, Mutex e altre, ma proprio oggi mi sono ritrovato, spulciando tra le migliaia di classi del Framework, la classe Interlocked. Essa permette l'accesso sicuro dei vari oggetti condivisi. La sintassi ed esempi completi sono presenti sull'MSDN. E trovo veramente comodo il poter utilizzare questa sintassi, invece dei metodi della classe Monitor:

Interlocked.Increment(numero)
Interlocked.Decrement(numero)
Interlocked.Exchange(nome oggetto)
Interlocked.CompareExchange(oggetto1, oggetto2...)

Non si finisce mai di imparare.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese