|
[C#] problema con collezione condivisa
ho il seguente problema:
devo condividere tra più thread una LISTA di oggetti in modo che la scrittura sia mutuamente esclusiva mentre la lettura deve essere NON mutuamente esclusiva.
ho quindi scelto di usare una variabile intera che tiene traccia degli attuali lettori e che inibisce la scrittura qualora il numero dei lettori sia >0. tale variabile intera è protetta da un monitor per la sincronizzazione degli accessi.
il grosso problema è che i lettori devono poter ENUMERARE gli elementi della lista. Il problema che nasce è, allora, impedire che la lista venga modificata mentre ci sono lettori in lettura senza usare due operazioni separate per disabilitare la scrittura e riabilitarla...
qualche idea?
grazie mille!
|