Главная страница
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.008 c
15-1293372734
Мимо не прошел
2010-12-26 17:12
2011.04.17
Свое


15-1293983270
Aleks
2011-01-02 18:47
2011.04.17
Сеть и базы данных


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


15-1292840260
ocean
2010-12-20 13:17
2011.04.17
К вопросу о нобелевских премиях


2-1295026576
Тоха
2011-01-14 20:36
2011.04.17
Трудности с WMI (инфо о процессах)