Доступен релиз v3.4

Привет всем. С прошедшим старым новым годом.

Вчера выложили новости и релизные сборки v3.4. На что хотелось бы обратить внимание.

1. Из дистрибутива удалены v1/v2. Если вдруг кому они понадобятся — они есть в дистрибутивах за 2010 год.

2. Мы «намотали» большое огромное число тестовых часов, проверяя надежность многопоточного кода провайдера. Тем не менее, если у ваших систем, в которых эксплуатируется IBProvider, есть тестовые стенды — погоняйте новый провайдер сначала на них.

Многопоточная обработка данных появилась в провайдере больше года назад. Просто в v3.4 она стала более агрессивной. В частности, с кэшем результирующего множества может работать до пяти потоков: пользовательский, три потока сборки мусора (каждый специализируется на своем классе мусора), поток фоновой выгрузки во временный файл. В принципе, многопоточное пользовательское приложение может увеличить это число потоков.

Запуск потоков для сборки мусора осуществляется с задержкой в фоновом режиме. Если хранилище, в котором нужно осуществлять уборку мусора будет уничтожено раньше, то сборщики не запустятся.

Управление потоками осуществляется посредством динамического пула. Который исключает бестолковщину с запуском и остановом потоков.

При освобождении последнего COM-объекта провайдера, пул потоков уничтожается.

Пока все.

PS. Да, конечно же мы учитываем специфику работы с потоками в рамках DLL.

Leave a Comment