Re[2]: QueueUserWorkItem
От: distance  
Дата: 25.02.04 16:27
Оценка:
Здравствуйте, TarasCo, Вы писали:

TC>Sleep(1000) — эта строчка не понравилась. Нехорошо наверное тормозить рабочий поток надолго. Система может "заподозрить" неладное и прибить его например. Для проверки поставтье еще один printf после слипа....

TC>Можно также укзать флажок WT_EXECUTELONGFUNCTION в QueueUserWorkItem

О, спасибо за подсказку. Оказалось все банально — программа просто-напросто завершалась, и соответственно все последующие вызовы ThreadProc прибивались. Если программа будет выполняться дальше, то и вызовы будут происходить как надо. По поводу потока — из-за Sleep() система не может его убить, да и этот Sleep только как тест использовался — в реале не его месте всякий долгострой крутится...
И еще по ходу появился вопрос — какие-то крайности получаются с количеством потоков в пуле — либо по числу процессоров (т.е. в большинстве случаев 1) либо, при использровании WT_EXECUTELONGFUNCTION — сколько будет запросов (а ну как придет 100 или 1000 — так сервер и ляжет нельзя ли сделать чтобы было Threads = CPU*2?
(интересно, а HT в P4 считается?)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.