Premetto che programmo da poco in c# e provengo da php, quindi perdonatemi se sparo c***ate.
Ho realizzato un Applicazione multithread.
Ogni thread fa letture e scritture sia per l'oggetto dove si trova il metodo del thread,
sia su 2 oggetti singleton.
Ho pensato di utilizzare il modificatore private per tutte le proprietà condivise dai vari thread e sfruttare i getter e setter con all'interno i lock in modo da ottenere un'applicazione thread-safe, senza preoccuparse di monitorare oggetti in ogni parte del codice pasticciando il tutto.
Che ne pensate?è una buona soluzione?Codice PHP:public int Var
{
get
{
int a;
lock (this) {
a = var;
}
return a;
}
set
{
lock (this)
{
var = value;
}
}
}

Rispondi quotando
facendo cosi dovresti riuscire a tenere la classe "libera" anche quando si richiede la lettura o modifica della proprietà, ma allo stesso tempo, visto che quando viene utilizzata la proprietà viene bloccato un oggetto (lockThis) questo non puo' essere impegnato da altre parti facendo in modo che venga accodata la richiesta sulla proprietà e non tutta la classe.
