Вниз
Скачать: 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
10-1107878782
arick
2005-02-08 19:06
2006.02.05
Flash ActiveX компонент


2-1137793494
deamon_t
2006-01-21 00:44
2006.02.05
Bitmap1:=Bitmap2


9-1124615893
McSource
2005-08-21 13:18
2006.02.05
Освещение


6-1128421863
Pete
2005-10-04 14:31
2006.02.05
Авторизация TNMSMTP


3-1133787514
Igor_thief
2005-12-05 15:58
2006.02.05
Paradox 7 и objectpal code?




   Наверх