Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Synchronizační problém

Ahoj, mám problém, který nevím jak vyřešit.

Mám jeden registr, do kterého zapisuji data (sdílená paměť).

Metody (funkce) : A, B, C, D zapíší data do registru a volají spusťA, spusťB, spusťC, spusťD - ty čtou data z registru a vykonají nějakou činnost.

Problém je v tom, že mám jen jeden registr a nevím jakým způsobem vyřešit kritickou sekci, přepsání (aby A, B, C, D si nepřepsaly registr, když je třeba nad ním vykonávána operace).

Všechno běží vícevláknově a neběží to ve smyčce! Tedy pouze jen někdy.

Jak by jste to vyřešili?

Díky za každou radu.

(je to v c++)

Předmět Autor Datum
To snad zabezpecuje samotne WinAPI. http://stackoverflow.com/questions/706336/is-the-w in32-registry… poslední
MM.. 06.10.2016 16:37
MM..

To snad zabezpecuje samotne WinAPI. http://stackoverflow.com/questions/706336/is-the-w in32-registry-thread-safe.

Vseobecne su na synchronizaciu threadov mutexy, mozes si to aj sam osetrit ak mas pochybnosti o WinAPI.

A vseobecne nechapem preco nepouzivas parametre funkcii ale nejaky registr, ked len metoda A vola metodu spustA. Potom sa clovek divi ze winupdate trva 3dni, ked asi aj v MS programuju take maglajzy. Registry nie su urcene na taketo veci.

Zpět do poradny Odpovědět na původní otázku Nahoru