Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Потокобезопасность 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).


Наверх

Титульная страница Поиск, карта сайта Написать письмо