Synchronizacja wątków o wspÓlnej zmiennej

0

Witam.
Mam pytanie czy trzeba używać synchronizacji w wątkach (Threeds) jeżeli korzystaj z wspólnej zmiennej (Integer), gdy wykonują pętle (while) ? I jeżeli trzeba to pytanie czy to wpłynie na szybkość działania aplikacji ?

0

InitializeCriticalSection, EnterCriticalSection, LeaveCriticalSection

0

Jeśli jest to zmienna lokalna w procedurze wątku używana w pętli to nie trzeba. Jeśli jest to pętla w wątku ale testujesz zmienną globalna, to trzeba, chyba że będzie ona zadeklarowana jako threadvar wtedy każdy wątek ma swoją kopię (threadvar jest ponoć 10 razy wolniejszy od var). Synchronizacja dostępu do danych zazwyczaj wiąże się ze spadkiem wydajności. Oprócz sekcji krytycznych ma jeszcze do dyspozycji taką jedną klasę - o której tylko słyszałem / czytałem - co ma długą nazwę, coś a'la texclusivereaderwriter ... W każdym razie OIDP było coś że jak niewielu pisze w wielu czyta to warto ją stosować.

o: http://eonclash.com/Tutorials/Multithreading/MartinHarvey1.1/Ch8.html#TMultiReadExclusiveWriteSynchroniser

b

1 użytkowników online, w tym zalogowanych: 0, gości: 1