Вниз
Скачать: 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.024 c
2-1137496064
file
2006-01-17 14:07
2006.02.05
удалить часть файла


8-1124712388
melena
2005-08-22 16:06
2006.02.05
мерцание при анимировании


2-1137691600
mozgan
2006-01-19 20:26
2006.02.05
Как можно просмотреть весь список функций и процедур


1-1136750829
AKMTT
2006-01-08 23:07
2006.02.05
потоки и таймер


3-1133785755
Kerk
2005-12-05 15:29
2006.02.05
Excel. Чувствую, что торможу




   Наверх