Некоторое количество заметок назад я рассказывал о шаблоне многозадачного программирования Data Flow и демонстрировал пример его реализации на C++ с помощью библиотеки Asynchronous Agents Library (AAL). Пришла пора ещё раз вспомнить об этом шаблоне: дело в том, что с недавних пор его реализация стала доступной для платформы .NET.
Заметки с передовой
Разработка ПО на переднем крае ИТ отрасли: проблемы, решения, технологии
вторник, 26 февраля 2013 г.
понедельник, 26 ноября 2012 г.
понедельник, 3 сентября 2012 г.
Особенности управления крупной инфраструктурой. Переход
Замена ключевого компонента системы никогда не бывает безболезненным: всегда приходится идти на компромиссы, чем-то жертвовать, что-то доделывать. Принимаемые решения всегда балансируют между двумя противоположными целями: сделать правильно и добиться обратной совместимости, чтобы минимизировать потери времени и не навредить стабильности продукта. В итоге новый компонент частично обретает черты старого, где-то вынужденно повторяет его ошибки. Это неизбежная плата за возможность наиболее безболезненным образом исправить некоторый фатальный недостаток старого компонента, из-за которого и был затеян весь переход. Не стал исключением и наш Windows Provisioning Engine, о котором я начал рассказывать в прошлый раз. Если сравнить его с Microsoft Provisioning System, то можно обнаружить много общего.
четверг, 9 августа 2012 г.
Современные подходы к параллельной разработке
В разработке современных приложений параллельное программирование играет наиважнейшую роль не только на стороне серверного, но и на стороне клиентского ПО. Писать многопоточные приложения могут многие, многозадачные - единицы. Лекция посвящена обзору основных техник и шаблонов параллельной разработки, применяемых в промышленном программировании, и немного облегчающих рядовому программисту задачу написания эффективных многозадачных приложений.
Именно этой теме была посвящена моя очередная лекция на летней школе Parallels. И хотя она составлена по мотивам более ранних заметок из этого блога, возможно кому-нибудь подобная комиляция материала может показаться весьма поленой.
Именно этой теме была посвящена моя очередная лекция на летней школе Parallels. И хотя она составлена по мотивам более ранних заметок из этого блога, возможно кому-нибудь подобная комиляция материала может показаться весьма поленой.
вторник, 3 июля 2012 г.
Особенности управления крупной инфраструктурой. Начало
При разработке контрольной панели управляющей крупной сетевой инфраструктурой и автоматизирующей такие рутинные сценарии, как: создание организационных единиц в Active Directory или подготовка почтовых ящиков пользователям, приходится сталкиваться с множеством оптимизационных задач. В новом цикле, открываемом этой заметкой, я расскажу об одном решении, применяемом нами в Parallels Automation, позволяющем справиться сразу с несколькими проблемами подобного рода.
среда, 18 апреля 2012 г.
Асинхронно в WinAPI. Продолжение
Нет ничего сложного в том, чтобы отправить потоку асинхронное сообщение длинной в пару байт. Гораздо интереснее проделать этот же трюк с неограниченным объёмом информации. Итак, цели прежние: организовать асинхронное взаимодействие между потоками с минимальным количеством блокировок. Лишь немного изменились условия: теперь сообщение – это строка произвольной длинны.
понедельник, 19 марта 2012 г.
Асинхронно в WinAPI. Начало
Различные средства параллельного программирования от библиотек вроде Concurrency Runtime до специализированных языков вроде Erlang предоставляют такую типовую операцию, как отправка асинхронного сообщения потоку. А каким образом можно реализовать эту возможность, опираясь только функционал WinAPI. Попробуем разобраться.
Подписаться на:
Сообщения (Atom)