Даёшь асинхронность в массы, или как ускориться нашару
1. ДАЁШЬ АСИНХРОННОСТЬ В
МАССЫ,
ИЛИ КАК УСКОРИТЬСЯ НАШАРУ
Сергей Калинец
http://tdd4.net
@skalinets
kalinets@gmail.com
2. ПРО МЕНЯ
• Более 10 лет опыта в разработке
• Руковожу разработкой в киевском офисе
CompatibL
• Автор http://tdd4.net
• Тренер по инженерным практикам в
Scrumguides
• Ведущий клуба практического
программирования Stratoplan.ru
12. АСИНХРОННОСТЬ, ЭТО…
• Не многопоточность!
• Отсутствие блокировок
• Concurrency рулит вызываемая сторона
• Новый уровень абстракции
• Решение проблемы времени ожидания
13. TASK
• Сигнальная конструкция
• Может возвращать значения
• Есть поддержка продолжений
• Обрабатывают исключения
18. ЧТО В ИТОГЕ
• Избегаем ручного управления потоками
• Решаем проблемы асинхронно
• Начинаем использовать Async CTP уже
сейчас
19. СПАСИБО!
Сергей Калинец
http://tdd4.net
@skalinets
kalinets@gmail.com
Notas del editor
tdd работает не только с алгоритмамиПример liskov substitution: прямоугольник и квадрат
Наука движется впередДжони мнемоникМногоядерность и облачные вычисленияWin Rtна асинках (хоть и не работает)
Большинство разработчиков считают, что async == многопоточность
Все было однопоточным, программы, операционная системаSimple sync demo
Windows
ПроблемыМного потоков =печалька
IO bound operationsВозможность делать что-то в асинхронном методе не напрягая вызывателяПри этом дать вызывателю возможность следить и управлять процессом (отмена, прогресс)Актуально для многоядерных компов и облачных архитектур
Можно использовать уже сегодня, несмотря на то, что это CTP