Асинхронне програмування дозволяє виконувати частини програми окремо від головного потоку виконання і сповіщати основний потік про завершення, помилки та перебіг операцій. Метою асинхронності найчастіше є покращення продуктивності та швидкості відгуку програм. На доповіді розглядатимуться існуючі підходи до організації асинхронності (Task Parallel Library, Reactive Extensions), а також засоби, які з'являться у наступній версії .NET (C# async)