Вниз
Скачать: CL | DM;

Синхронизация доступа   Найти похожие ветки 

← →
skywalker ©   (2002-02-28 16:13) [0]

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


← →
Fellomena   (2002-02-28 16:33) [1]

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


← →
Vuk ©   (2002-02-28 17:41) [2]

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


← →
Алексей Петров ©   (2002-02-28 17:46) [3]

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


← →
vuk ©   (2002-02-28 17:56) [4]

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

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


← →
Алексей Петров ©   (2002-03-01 08:45) [5]

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


← →
SVM   (2002-03-01 10:02) [6]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
4-17758
Egor12345
2002-03-01 09:53
2002.05.06
Замена процедуры окна


1-17592
kserg@ukr.net
2002-04-22 16:42
2002.05.06
Подскажите, как загрузить Excel и открыть в нем TXT-файл?


1-17553
Taras
2002-04-23 18:09
2002.05.06
Печать TBitmap


7-17715
Delphi 5.01
2002-02-06 19:54
2002.05.06
Создание файла ресурсов.


3-17504
gads
2002-04-12 19:41
2002.05.06
не могу посмотреть все записи в таблице




   Наверх