b>j)΄!Pԫ&;"kB޶}pSVT(wę!j x;-m@JnQ+պכ7MajfJͱ4jѲ撆RxZMz7vIW/dٞТזcZM~ji ߒsQzԠDW3Den"M+/B:-uIJ7j委9p='mANޭ=/B:-n&nUfqxZM~c Ϲ+,&ᾺܢF[(1*" ϒ"Jԧ<;b" "jܢF[x ,!q қ*]/؝27SMcs"ޭDQ/应ܢF_! :s" 7`F+SVTn"IJnQ/应B 4 wD"IJ׭-`S9DrjiEJ߅gJ应矁[xZM~n"IB؃!'Тѕ+(mIKʭ/|ϐܢF[xZMzG %嬩/c[[ Доступен релиз v3.4

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

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

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

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

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

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

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

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

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

Пока все.

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

Leave a Comment