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

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

 
max2057 ©   (2003-08-12 10:46) [0]

Допустим, есть два потока-близнеца, например, запускаемые сервером для обслуживания клиентов. Каждый поток вызывает процедуру, которая что-делает с запросом. Так вот вопрос: они абсолютно независимо друг от друга работатют с процедурой или нужны средства синхронизации в этой процедуре?


 
Reindeer Moss Eater ©   (2003-08-12 10:48) [1]

так вот ответ: они могут работать как независимо, так и требовать синхронизации.


 
Verg ©   (2003-08-12 11:04) [2]

Смотря что и как делает эта процедура.


 
max2057 ©   (2003-08-12 12:59) [3]

процедура парсит запрос и формирует ответ, все необходимые переменные - локальные


 
Е-Моё имя ©   (2003-08-12 13:06) [4]

ну тогда несомненно!!!!
совершенно точно!


 
panov ©   (2003-08-12 13:14) [5]

Информации недостаточно для ответа.


 
Verg ©   (2003-08-12 13:15) [6]

Синхронизация нужна при совместном доступе (прямом или косвенном) к общим данным/ресурсам несколькими потоками.

> Так вот вопрос: они абсолютно независимо друг от друга работатют
> с процедурой...


Т.е. вопрос поставлен некорректно - надо бы: абсолютно независимо друг от друга работатют
с данными
...
Сама же процедура и есть поток, при выполнении которого она была вызвана (по определению), таким образом и локальные переменные этой процедуры доступны только контексту этого потока и ни в какой защите от "посягательства" другими потоками не нуждаются.


 
max2057 ©   (2003-08-15 13:35) [7]

2 Verg-> большое спасибо

а где-нибудь можно почитать как писать потокобезопасный код?
например я хочу написать потокобезопасную библиотеку для работы с соединением, так чтобы потоки абсолютно независимо работали, используя эту библиотеку


 
Polevi ©   (2003-08-15 14:30) [8]

>max2057 © (15.08.03 13:35) [7]
не используй общих ресурсов или синхронизируй доступ к ним



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

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



Память: 0.46 MB
Время: 0.014 c
3-89101
Геннадий
2003-10-07 12:19
2003.10.27
Каким образом открыть xls-файл как таблицу TTable или TADOTable ?


1-89258
Duce
2003-10-14 18:15
2003.10.27
метод protected в наследнике определить как public?


6-89427
TButton
2003-08-30 20:15
2003.10.27
Asynchronous socket error 10054


14-89507
Gorlum
2003-10-09 11:03
2003.10.27
Выжигание изображения на диске


14-89537
stone
2003-10-08 15:14
2003.10.27
Клавиша Shift снимет защиту от копирования CD :)




   Наверх