![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Потокобезопасность New / Dispose
Piter © (2006-01-04 20:06:00)Насколько безопасно использовать New в одном потоке, а Dispose делать в другом потоке?
Объекты внутри записей не используются.
begin...end (2006-01-05 13:54:00) [1]> Piter © (05.01.06 13:47) [6]
Я предполагаю. Глядя на код в getmem.inc.
Piter (2006-01-05 13:47:00) [2]begin...end © (05.01.06 13:34) [5]
Замедлением работы менеджера памяти, например
я тоже подумал об этом. Но ты это знаешь или тоже предполагаешь?
begin...end (2006-01-05 13:34:00) [3]> Piter © (05.01.06 13:30) [4]
> Чем это "плохо"?
Замедлением работы менеджера памяти, например.
Piter (2006-01-05 13:30:00) [4]Ясно... а вот интересно, в продолжении темы. А почему по умолчанию не установлена isMultiThread в true? Чем это "плохо"?
Almaz (2006-01-05 11:53:00) [5]
> Только менеджер памяти должен быть уведомлен о многопоточности
> (с помощью переменной IsMultiThread).
Если не использовать CreateThread напрямую, а использовать функцию BeginThread или наследников TThread, то самому изменять значение IsMultiThread не нужно - за вас это сделает BeginThread.
Удачи.
jack128 (2006-01-04 20:56:00) [6]А сам как думаешь? Например в ряде случаев TThread может создаться в одном потоке, а уничтожаться в другом ;)
begin...end (2006-01-04 20:41:00) [7]Насколько я знаю, безопасно. Только менеджер памяти должен быть уведомлен о многопоточности (с помощью переменной IsMultiThread).