FB Embeded

Janex
Дата: 16.08.2012 13:03:55
Привет всем.

Кто небудь делал чтото такое, что из однои апликации делается несколько
конектов к базе через fbembed.dll ?
Типо заметил такое - при первом подключение обём занимаемои памяти апликации
увеличивается на ~ 6Mb, но каждое следуюшее берёт сего по мегабаиту ...
Такое чуство что все следуюшие подключения незагружает новую копию fbembed.dll а
както на загруженои уже зализает ... незнаю, мож ошибаюс или чтото недопонемаю :)

Так вообше можно делать, небудет там какието конфликти вдруг когдато ?


WBR
Janex
arni
Дата: 16.08.2012 13:21:35
Janex,

а зачем шаренную библиотеку грузить <несколько> раз?
WildSery
Дата: 16.08.2012 13:23:07
Янекс, приложение для открытия нового коннекта не создаёт свою копию, и это тебя не удивляет.
Так почему удивляет, что подключив библиотеку, оно в разных местах может её код использовать?
Janex
Дата: 16.08.2012 13:55:41
WildSery
Янекс, приложение для открытия нового коннекта не создаёт свою копию, и это тебя не удивляет.
Так почему удивляет, что подключив библиотеку, оно в разных местах может её код использовать?


Мне конекти через fbembed.dll будут делатся из разных потоков, тоесть
в каждом потоке будет свои компонент (дельфи) доступа, типо, полныи комлект
для конекта к базе ...
Вот заволновалься будет ли там всё threadsafe ... небудет ли какието
конфликти или накладки если вдруг из двух потоков одновременно будут
запросы к базе ...
Basil A. Sidorov
Дата: 16.08.2012 13:59:19
Janex
Вот заволновалься будет ли там всё threadsafe
"Разделяемость" и "потокобезопасность" - полностью попиндикулярны.
Janex
Дата: 16.08.2012 14:10:15
Basil A. Sidorov,

Ну вы же поняли о чём ворпос то ... :)
Если использиется один и тоже в память загруженыи екземпляр fbembed.dll, то
возможно ли будет одновременное обрашение к базе или друг друга будут
ждать, или какието другие фигни получатся ?

С простим fbclient.dll в маём варианте проблем нету, хотел узнать небудут
ли какието сюрпризи с embeded ....
kdv
Дата: 16.08.2012 14:11:02
Janex, embedded - это сервер в dll. когда твое приложение (exe) подключает dll, оно в месте с dll превращается в сервер.
Поэтому удивляться, что на каждый коннект отъедается по 1 мб, а на первый - 6 мб, не надо.
Ты же примерно такой работе сервера не удивляешься?
Basil A. Sidorov
Дата: 16.08.2012 14:16:00
Janex
Ну вы же поняли о чём ворпос то ... :)
Ещё раз.
Код может быть:
1. Разделяемым.
2. Потокобезопасным.
И эти две характеристики вообще никак не связаны.
Janex
Дата: 16.08.2012 14:23:37
kdv
Janex, embedded - это сервер в dll. когда твое приложение (exe) подключает dll, оно в месте с dll превращается в сервер.
Поэтому удивляться, что на каждый коннект отъедается по 1 мб, а на первый - 6 мб, не надо.
Ты же примерно такой работе сервера не удивляешься?


Ну ето я уже вроде знал :)
Просто думал, что при каждом вызове fbembed.dll создаётся новыи екземпляр сервера в одном и
томже екзешнике, как ето бы было при запуске 2 екземпляр апликации
kdv
Дата: 16.08.2012 22:21:04
Janex
Просто думал, что при каждом вызове fbembed.dll создаётся новыи екземпляр сервера в одном и
томже екзешнике

то есть, надо чтобы он ел по 6мб на коннект? :-)