Доступен релиз v3.4
Привет всем. С прошедшим старым новым годом.
Вчера выложили новости и релизные сборки v3.4. На что хотелось бы обратить внимание.
1. Из дистрибутива удалены v1/v2. Если вдруг кому они понадобятся — они есть в дистрибутивах за 2010 год.
2. Мы «намотали» большое огромное число тестовых часов, проверяя надежность многопоточного кода провайдера. Тем не менее, если у ваших систем, в которых эксплуатируется IBProvider, есть тестовые стенды — погоняйте новый провайдер сначала на них.
Многопоточная обработка данных появилась в провайдере больше года назад. Просто в v3.4 она стала более агрессивной. В частности, с кэшем результирующего множества может работать до пяти потоков: пользовательский, три потока сборки мусора (каждый специализируется на своем классе мусора), поток фоновой выгрузки во временный файл. В принципе, многопоточное пользовательское приложение может увеличить это число потоков.
Запуск потоков для сборки мусора осуществляется с задержкой в фоновом режиме. Если хранилище, в котором нужно осуществлять уборку мусора будет уничтожено раньше, то сборщики не запустятся.
Управление потоками осуществляется посредством динамического пула. Который исключает бестолковщину с запуском и остановом потоков.
При освобождении последнего COM-объекта провайдера, пул потоков уничтожается.
Пока все.
PS. Да, конечно же мы учитываем специфику работы с потоками в рамках DLL.