Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.007 c
15-1293565837
TUser
2010-12-28 22:50
2011.04.17
Почему эбонит электризуется при натерании об шерсть?


15-1293663286
XXL
2010-12-30 01:54
2011.04.17
Как в подмосковье с интернетом ?


15-1294262997
Юрий
2011-01-06 00:29
2011.04.17
С днем рождения ! 6 января 2011 четверг


15-1293917399
Юрий
2011-01-02 00:29
2011.04.17
С днем рождения ! 2 января 2011 воскресенье


1-1251790955
Fr0sT
2009-09-01 11:42
2011.04.17
FastCode и D2009