In pratica ho tre applicazioni identiche (ognuna delle quali gira su un PC
diverso in rete con gli altri ) , le quali
devono accedere ad un database (posizionato su un altro PC in rete).
Queste applicazioni vengono eseguite nello stesso tempo (allo scadere
dell'ora dell'orologio di sistema ,il quale viene sempre sincronizzato su
tutti i PC)
e quindi devo fare in modo che la prima che accede alla risorsa condivisa
(database) metta in attesa le altre due applicazioni
e via di seguito fin tanto che tutte le applicazioni anno svolto il loro
compito in modo sequenziale.
Qualcuno sa darmi dei suggerimenti su come realizzare questo sincronismo in
modo sicuro .
Grazie per l'attenzione
Piero
Progeco <apro...@tin.it> wrote in message 7kq79h$d98$1...@nslave1.tin.it...
Crei un mutex nominato:
hMutex = CreateMutex(0&, -1&, "MioMutex")
Chiami GetLastError e se restituisce ERROR_ALREADY_EXISTS allora
un'altra applicazione sta usando il database; continui quindi a
ciclare (non con un loop stretto, possibilmente) fino a che non
ottieni errori.
A questo punto procedi con la tua applicazione e, quando hai finito di
usare il database, chiami:
ReleaseMutex(hMutex)
Le definizioni di funzioni e costanti le trovi sull'APIViewer
Ciao
P.S. Questo sistema, ovviamente, serve anche a non lanciare due
istanze della stessa applicazione
Gian Michele Bertoni
homepage: http://space.tin.it/computer/gbertoni