Лучшие практики для параллелизации использующего асинхронного рабочего процесса

Вы были близки. Я думаю, что это будет работать для вас. Первая дата возвращается на 5 месяцев назад и добавляет день, вторая - к последнему дню предыдущего месяца.

CASE WHEN {trandate} BETWEEN
LAST_DAY(ADD_MONTHS({today},-5))+1 AND
LAST_DAY(ADD_MONTHS({today},-1)) THEN 1 ELSE 0 END
8
задан Brian 1 February 2009 в 19:10
поделиться

2 ответа

Ключ, мы не порождаем новых потоков. Во время целого курса рабочего процесса существуют 1 или 0 активных потоков, используемых от ThreadPool. (Исключение, вплоть до первого'!', код работает на пользовательском потоке, который сделал Асинхронное. Выполненный.) "позволяют!" отпускает потока, в то время как Асинхронная операция в море и затем поднимает поток с ThreadPool, когда операция возвращается. (Производительность) преимуществом является меньше давления против ThreadPool (и конечно главным пользовательским преимуществом является простая модель программирования - миллион раз лучше, чем все, что BeginFoo/EndFoo/callback наполняют Вас, иначе пишут).

См. также http://cs.hubfs.net/forums/thread/8262.aspx

9
ответ дан 5 December 2019 в 14:06
поделиться

Я писал ответ, но Brian победил меня к нему. Я полностью соглашаюсь с ним.

Я хотел бы добавить, что, если Вы хотите параллелизировать синхронный код, правильный инструмент является PLINQ, не асинхронными рабочими процессами, как Don Syme объясняет.

3
ответ дан 5 December 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: