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

Потокобезопасность New / Dispose   Найти похожие ветки 

 
Piter ©   (2006-01-04 20:06) [0]

Насколько безопасно использовать New в одном потоке, а Dispose делать в другом потоке?

Объекты внутри записей не используются.


 
begin...end ©   (2006-01-04 20:41) [1]

Насколько я знаю, безопасно. Только менеджер памяти должен быть уведомлен о многопоточности (с помощью переменной IsMultiThread).


 
jack128 ©   (2006-01-04 20:56) [2]

А сам как думаешь? Например в ряде случаев TThread может создаться в одном  потоке, а уничтожаться в другом ;)


 
Almaz ©   (2006-01-05 11:53) [3]


> Только менеджер памяти должен быть уведомлен о многопоточности
> (с помощью переменной IsMultiThread).

Если не использовать CreateThread напрямую, а использовать функцию BeginThread или наследников TThread, то самому изменять значение IsMultiThread не нужно - за вас это сделает BeginThread.

Удачи.


 
Piter ©   (2006-01-05 13:30) [4]

Ясно... а вот интересно, в продолжении темы. А почему по умолчанию не установлена isMultiThread в true? Чем это "плохо"?


 
begin...end ©   (2006-01-05 13:34) [5]

> Piter ©   (05.01.06 13:30) [4]

> Чем это "плохо"?

Замедлением работы менеджера памяти, например.


 
Piter ©   (2006-01-05 13:47) [6]

begin...end ©   (05.01.06 13:34) [5]
Замедлением работы менеджера памяти, например


я тоже подумал об этом. Но ты это знаешь или тоже предполагаешь?


 
begin...end ©   (2006-01-05 13:54) [7]

> Piter ©   (05.01.06 13:47) [6]

Я предполагаю. Глядя на код в getmem.inc.



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

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



Память: 0.46 MB
Время: 0.027 c
15-1137503871
IceBeerg
2006-01-17 16:17
2006.02.05
Самовольный dualup


15-1137010804
Firefly
2006-01-11 23:20
2006.02.05
Нужна ли программисту математика?


3-1133968893
Василий И.
2005-12-07 18:21
2006.02.05
Драйвер Jet!!


15-1137058925
Slym
2006-01-12 12:42
2006.02.05
Winows и 2 дефолтовых маршрута, как быть?


11-1118388635
Lars
2005-06-10 11:30
2006.02.05
stuffstring




   Наверх