C# 5.0 Взгляд в будущее Язык формирует наш способ мышления и определяет то, о чем мы можем мыслить. Б. Л. Ворф Специально для TulaDev.NET. - пр
Содержание
- 2. О чем поговорим Я расскажу об одном интересном нововведении, которое планируется сделать в C# 5.0 Объясню
- 3. История развития C# C# 1.0 Managed code TulaDev.NET
- 4. История развития C# C# 1.0 Managed code C# 2.0 Iterators / Generics / Anonymous TulaDev.NET
- 5. История развития C# C# 1.0 Managed code C# 2.0 Iterators / Generics / Anonymous C# 3.0
- 6. История развития C# C# 1.0 Managed code C# 2.0 Iterators / Generics / Anonymous C# 3.0
- 7. История развития C# C# 1.0 Managed code C# 2.0 Iterators / Generics / Anonymous C# 3.0
- 8. Зачем нужна асинхронность? var document = FetchDocument(url); ArchiveDocument(document); FetchDocumentAsync(url, document => { ArchiveDocument(document); }); TulaDev.NET
- 9. Зачем нужна асинхронность? FetchDocumentAsync(url1, document => { ArchiveDocument(document); }); FetchDocumentAsync(url2, document => { ArchiveDocument(document); }); FetchDocumentAsync(url3,
- 10. Асинхронность против многопоточности Асинхронность позволяет производить параллельную обработку в одном потоке Следовательно асинхронный код не будет
- 11. Где нужна асинхронность? В первую очередь в обработке событий пользовательского интерфейса SilverLight (JavaScript, например, — язык
- 12. Сопрограммы «Подпрограмма является частным случаем сопрограммы». Д. Кнут. Пример программы, использующей 2 сопрограммы: var q :=
- 13. Как это выглядит в 5.0? Возьмем код var document = FetchDocument(url); ArchiveDocument(document); Его можно преобразовать в
- 14. Как это выглядит в 5.0? Первая магия C# 5.0 - await task Означает конструкция буквально следующее:
- 15. Как это выглядит в 5.0? Вторая магия C# 5.0 – модификатор метода async Означает буквально следующее:
- 16. Как это выглядит в 5.0? Конструкция await может быть указана только внутри async метода Методы async
- 17. Синхронный пример Document FetchDocument(string url) { HttpRequest request = (HttpRequest) WebRequest.Create(url); var response = request.GetResponse(); var
- 18. Асинхронный пример async Task FetchDocument(string url) { HttpRequest request = (HttpRequest) WebRequest.Create(url); var response = await
- 19. Лучше один раз увидеть... Давайте рассмотрим пример в VisualStudio TulaDev.NET
- 20. Что еще нужно знать? Конструкция await применима не только для Task. Но и для любого выражения,
- 21. Источник информации http://msdn.com/vstudio/async Здесь можно скачать предварительную версию Async CTP (Community Technology Preview) Есть ссылки на
- 23. Скачать презентацию