поточное 06.07.10 18:43 // оригинал
Перетряхнул транспортную библиотеку, перенеся ее на использование boost::asio (первая реализация была по-быстрому сляпана на mfcшных сокетах, но после того как посмотрел, что у них внутри, поимел острое желание сходить на что-то другое). Преодолев первоначальный вывих мозгов, случившийся от asio (чем больше углубляешься в boost, тем больше пишешь на чем-то, что все меньше напоминает привычный C++), получил в целом гораздо более приятный и логичный код и избавился от части лишних потоков и очередей (почти не затронув верхний уровень, что дало лишний повод похвалить себя за все напроектированное).
В процессе отладки в кои-то веки посмотрел на количество потоков на старте программы - еще до запуска всех серверов/клиентов/расчетного модуля - и был неприятно удивлен. Небольшой эксперимент с генерированием чистого проекта показал, что вызов AfxEnableControlContainer(), без которого не обойтись при использовании ActiveX (просмотр отчетов, например, без особых раздумий был написан дерганием IEшного контрола, которому подсовывался сгенерированный html), после завершения инициализации главного окна на ровном месте приносит 4 (прописью: четыре) дополнительных потока. Оно, конечно, есть не просит, но осадочек неприятный.