Adam Furmanek. Оператор async самая большая ошибка в C #
Original:
Мы широко используем функции Async/Await и возлагаем на них большие надежды, поэтому оператор async должен поддерживаться всеми библиотеками. Но правильное ли это решение? Успешно ли реализуется шаблон в целом? Какие могут возникнуть проблемы, и почему использование оператора async может оказаться не самой лучшей идеей? В своём докладе я расскажу, почему асинхронная модель далека от совершенства. Я затрону проблемы, связанные с глобальными состояниями (global state), обработкой исключений, взаимными блокировками (дедлоками) и сборкой мусора. Я объясню, почему механизм разрабатывали, игнорируя важнейшие принципы программирования, и покажу, как много в нём проблемных мест.
Уровень сложности: средний. Требуется базовое знание sync/await.
Адам работает инженером-программистом почти 10 лет. На данный момент он занимается большими данными, фреймворком Spark и машинным обучением в Amazon. Ему всегда было интересно копать глубже, изучать машинный код и разбираться в особенностях реализации ПО, чтобы лучше понимать устройство технологий, которые он использует каждый день. Поэтому Адаму нравится отлаживать, декомпилировать и дизассемблировать код — это позволяет разобраться в моделях управления памятью, проблемах параллельного выполнения кода и других нюансах, которые скрыты внутри кода. В свободное время Адам играет в пинг-понг, смотрит фильмы Вуди Аллена и публикует статьи на .
Презентация на Я.Диске:
DotFest:
3 views
1033
287
6 months ago 01:02:37 2
Connecting Remotely Like a Pro - Adam Furmanek - NDC Porto 2023
7 months ago 00:02:32 2
Donna Loren sings “I Know A Place“ on Shindig (1965) - PRISTINE HIGH QUALITY
1 year ago 00:50:00 3
Internals of Exceptions - Adam Furmanek (2)
1 year ago 00:57:58 8
Manual memory management in .NET Framework - Adam Furmanek
1 year ago 01:01:25 3
Internals of Exceptions - Adam Furmanek
1 year ago 00:55:37 1
Ordering the chaos - cleaning logs and ordering events in microservices - Adam Furmanek (2)
1 year ago 01:01:34 3
Ordering the chaos - cleaning logs and ordering events in microservices - Adam Furmanek
1 year ago 01:02:46 2
From bulb to C# — how does computer work - Adam Furmanek - NDC Sydney 2020
1 year ago 02:18:07 3
Hacking C# from the inside - how to do anything in .NET - Adam Furmanek - NDC Porto 2022
1 year ago 01:04:43 2
Implementing async with coroutines and fibers - project Loom in C# - Adam Furmanek - NDC Porto 2022
1 year ago 01:05:29 1
Locks are tricky — let’s understand them by building one - Adam Furmanek NDC Melbourne 2022
1 year ago 00:56:22 1
Testing at scale - Adam Furmanek - NDC Oslo 2022
2 years ago 00:57:46 41
Adam Furmanek. Оператор async — самая большая ошибка в C #?