Вниз
Скачать: 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.007 c
15-1293469079
Дмитрий С
2010-12-27 19:57
2011.04.17
Дизайн выбора периодов.


15-1294066387
KilkennyCat
2011-01-03 17:53
2011.04.17
В разделе "начинающим" есть про акустический резонанс.


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


2-1295345106
Novi4ok1992
2011-01-18 13:05
2011.04.17
Ошибки отладки Дельфи 7


15-1293571785
Юрий
2010-12-29 00:29
2011.04.17
С днем рождения ! 29 декабря 2010 среда




   Наверх