Witam
mam jeden plik (txt) do którego dostęp mają dwa procesy, jeden który sprawdza czy znajduje się w mim szukany ciąg znaku a jesli taki napotka to dopisze <ort>cocnieco </ort>a drugi który dopisuje kolejne linijki...
wygląda on mniej więcej tak:
liczba1 Szukana/Wpisywana;ZwiązanyZNiąTekst#
liczba2 Szukana/Wpisywana;ZwiązanyZNiąTekst#
liczban Szukana/Wpisywana;ZwiązanyZNiąTekst#
Wim że powinienem stworzyc coś ala BeginCriticleSesion albo BeginThred ale (przynajmiej ja to tak zrozumiałem) ma to za zadanie <ort>upożądkować </ort>dostęp kilku procesów do pewnej części kodu [???] a ja w każdym procesie mam oddzieną procedurę dostępu do pliku bo każda musi zrobić co innego
byłbym bardzo wdzięczy gdybyści mogli mi pomóc...
za wszystko z góry dziękuję
0
0
Można dać Mutex na te wątki, w ten sposób, że każdy z nich będzie czekał aż ten drugi się zakończy, zanim następią dalsze polecenia (operacje na pliku).
var
hMutex: THandle = 0;
Przed wykonaniem operacji:
if WaitForSingleObject(hMutex, INFINITE) = WAIT_OBJECT_0 then
begin
...
end
Po wykonaniu operacji:
ReleaseMutex(hMutex);
Przed odpaleniem wątków:
hMutex := CreateMutex(nil, False, nil);
0
Do synchronizacji między wątkami (nie procesami) służą sekcje krytyczne.