Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Синхронизация доступа


skywalker ©   (2002-02-28 16:13:00) 

У меня есть оъект, и несколько потоков, которые периодечиски
вносят в него изменения. Как проще всего синхронизировать доступ этих потоков к объекту?


SVM   (2002-03-01 10:02:00) [1]

Если к тому же несколько читают, то есть могут читать
совместно, то лучше использовать что-то типа
TMultiReadExclusiveWriteSynchronizer


Алексей Петров   (2002-03-01 08:45:00) [2]

Совершенно верно. При каждой операции с Mutex-ом происходит переключение в режим ядра и обратно, а критические секции основаны на функциях InterlockedIncrement и InterlockedDecriment, работающих в режиме пользователя.


vuk   (2002-02-28 17:56:00) [3]

>И еще разница в том, что CriticalSection заметно быстрее Mutex-а.

Это, конечно, да. Я так понимаю, что это происходит потому, что этот CriticalSection является объектом не режима ядра, а режима пользователя и не нужно его отслеживать глобально по всей системе, как в случае с Mutex.


Алексей Петров   (2002-02-28 17:46:00) [4]

>Vuk © (28.02.02 17:41)
И еще разница в том, что CriticalSection заметно быстрее Mutex-а.


Vuk   (2002-02-28 17:41:00) [5]

Вообще говоря еще есть такая полезная вещь как CriticalSection. По большому счету, отличие от Mutex только в том, что CriticalSection могут использоваться только потоками одного процесса и их иногда проще использовать.


Fellomena   (2002-02-28 16:33:00) [6]

Самое простое, если необходимо, что бы только один поток имел доступ к ресурсу, - это использовать механизм мьютексов. (см. Mutex)
Если имеет место сложное распаралеливание доступа сразу нескольких потоков, то система семафоров.
Всё реализуется достаточно просто. (см. SDK)


Наверх

Титульная страница Поиск, карта сайта Написать письмо