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

Два потока и общая процедура   Найти похожие ветки 

 
начинающий2   (2011-01-18 08:33) [0]

Мне бы узнать как будут работать два потока  при вызове одной и той же процедуры. Будут созданы две копии процедуры для каждого потока или потоки будут работать с одной процедурой одновременно?


 
И. Павел ©   (2011-01-18 08:46) [1]

> Мне бы узнать как будут работать два потока  при вызове
> одной и той же процедуры. Будут созданы две копии процедуры
> для каждого потока или потоки будут работать с одной процедурой
> одновременно?

Ну локальные переменные будут разные (если вы это имеете ввиду) а глобальные - одни. Так что если процедура использует какие-то глобальные (разделяемые обоими потоками) объекты, нужно использовать синхронизацию, так чтобы два потока могли использовать процедуру только по очереди.


 
RWolf ©   (2011-01-18 09:47) [2]

На каждый поток выделяется некоторое количество страниц под стек, больше ничего. Код в памяти процесса не дублируется.


 
Ega23 ©   (2011-01-18 10:36) [3]


>  Так что если процедура использует какие-то глобальные

Скорее, не использует, а изменяет. На чтение - пофиг (если только оно извне кем-то не меняется)


 
han_malign   (2011-01-18 10:40) [4]

больше того, если процедура в DLL, то сегмент кода еще и несколькими процессами используется(но в разных сегментах данных, если сегмент данных не был помечен линковщиком как разделяемый(shared))...



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

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



Память: 0.45 MB
Время: 0.006 c
2-1295243332
bagos
2011-01-17 08:48
2011.04.17
перебор возможных вариантов


15-1293842666
NailMan
2011-01-01 03:44
2011.04.17
автозапуск utorrent на win2008. нет оболочки


2-1295255823
delphist
2011-01-17 12:17
2011.04.17
помогите составить XPath выражение


15-1293912187
NewUserWin7
2011-01-01 23:03
2011.04.17
Win 7 - параметры папки


2-1295269594
Евгений07
2011-01-17 16:06
2011.04.17
дельфи игнорирует файл источник




   Наверх