PDA

Visualizza la versione completa : [C] synchronized in C


darietto83
11-03-2010, 18:06
Ciao a tutti,

sono nuovo del forum e spero di trovare una risposta alla mio dubbio.

Avrei bisogno di una funzione o un qualcosa che si comporti come synchronized in java , ma a me serve in C.

Mi spiego meglio mi occorre un metodo che mi blocchi le risorse dagli altri accessi degli altri thread ne momento in cui richiamo la funzione che sto utilizzando.

Grazie 1000 a tutti

Saluti
A presto

MItaly
11-03-2010, 18:16
Su che sistema operativo lavori? Eventualmente che libreria stai usando per i thread?

darietto83
11-03-2010, 20:34
innanzi tutto grazie della risposta , ti spiego meglio il mio problema io vorrei che durante lo svolgimento di una funzione , si acquisisca un lock sun un'array di stringhe oppurre che il lock sia acquisito da una funzione

una cosa tipo la seguente , ma ovviamente vorrei decommentare il lock.

Comunque uso windows


int dataAcc::RabinovichStrategy(){
int min=3;
int count=0;
int curDomain=0;
//lock (typeof(dataAcc))
// {
for(int i=0;i<nSE;i++){
count=numConn[i];

if(count < min){
curDomain=i;
min = count;
}

}
return curDomain;
// }
}

MItaly
11-03-2010, 20:46
Ci sono altri percorsi di codice che possono modificare quei dati? Se non ce ne sono allora basta una critical section.

darietto83
12-03-2010, 10:07
Si ci sono altri pezzi di codice che possono modificare questi dati, ma come si usa la critical session?

mi puoi per favore fare un esempio?

MItaly
12-03-2010, 13:49
Si chiama critical section, ne trovi qui (http://msdn.microsoft.com/en-us/library/ms682530%28VS.85%29.aspx) la documentazione.

Loading