Текущий архив: 2011.04.17;
Скачать: 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 вся ветка
Текущий архив: 2011.04.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c