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

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

Reference Count и LoadLibrary


Sirakuz ©   (2004-06-07 17:44:00) 

У меня 1 процесс в нём несколько потоков, все потоки используют одну библиотеку. Потоки загружают/получают ссылку на библиотеку при помощи LoadLibrary(по идее они(ссылки)у всех потоков одинаковые). Если один из потоков вызовет FreeLibrary, потеряют ли смысл ссылки на библиотеки используемые другими потоками, т.е. выгрузится ли библиотека из памяти?


Игорь Шевченко   (2004-06-08 01:01:00) [1]


> Выгружать ее или нет решает система и когда она там ее выгрузит
> - дело не твое


Решает, как раз приложение, DLL выгрузится, когда будет выполнена последняя функция FreeLibrary, уменьшившая счетчик  использования данной библиотеки. В NT-системах этот счетчик можно даже посмотреть вызовом функции RtlQueryProcessDebugInformation или использованием Toolhelp-фукнций.


Sergey Masloff   (2004-06-08 00:12:00) [2]

Если каждый поток сделал LoadLibrary то каждый и делает ей Free. На другие потоки это не повлияет. Более того, делая FreeLibrary ты говоришь системе что эта библиотека ТЕБК больше не нужна. Выгружать ее или нет решает система и когда она там ее выгрузит - дело не твое.


Mim1   (2004-06-07 19:08:00) [3]

да


Наверх

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