Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

 Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование

Большинство разработчиков настороженно относятся к конкурентному и многопоточному программированию, опасаясь проблем связанных с взаимной блокировкой, голоданием и др. Стивен Клири поможет разобраться с трудностями и избежать подводных камней, возникающих при решении реальных задач. В вашем распоряжении 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования.
Конкурентность уже стала общепринятым методом разработки хорошо масштабируемых приложений, но параллельное программирование остается непростой задачей. Подробные примеры и комментарии к коду позволят разобраться в том, как современные инструменты повышают уровень абстракции и упрощают конкурентное программирование. Вы научитесь:
- использовать async и await для асинхронных операций
- расширять возможности кода за счет использования асинхронных потоков
- исследовать потенциал параллельного программирования с библиотекой TPL Dataflow
- создавать конвейеры потоков данных с библиотекой TPL Dataflow
- задействовать функциональность System.Reactive на базе LINQ
- использовать потоково-безопасные и неизменяемые коллекции
- проводить модульное тестирование конкурентного кода
- брать под контроль пул потоков
- реализовывать корректную кооперативную отмену
- анализировать сценарии на предмет объединения конкурентных методов
- пользоваться всеми возможностями асинхронно-совместимого объектно-ориентированного программирования
- распознавать и создавать адаптеры для кода, в котором используются старые стили асинхронного программирования.
Оқыдыңыз ба? Не айтасыз?
Владислав Евсеев
Владислав Евсеевпікірімен бөлісті2 ай бұрын
👍Ұсынамын
Комментарий жазу
Егор Зайнуллин
Егор Зайнуллинпікірімен бөлісті1 жыл бұрын
🙈Дым түсініксіз
Комментарий жазу
Николай С.
Николай С.дәйексөз келтірді2 апта бұрын
Есть две формы параллельного программирования: параллелизм данных и параллелизм задач
Комментарий жазу
Николай С.
Николай С.дәйексөз келтірді2 апта бұрын
Более распространенная ситуация встречается тогда, когда требуется отменить параллельный цикл. Это не то же, что остановка цикла; цикл останавливается изнутри и отменяется за своими пределами. Например, кнопка отмены может отменить CancellationTokenSource, отменяя параллельный цикл, как в следующем примере
Комментарий жазу
Николай С.
Николай С.дәйексөз келтірді2 апта бұрын
ValueTask, который сокращает затраты памяти, если результат в основном является синхронным; например, если результат может быть прочитан из кэша в памяти. Тип ValueTask не преобразуется в Task напрямую, но строится по схеме, допускающей ожидание, поэтому может использоваться с await
Комментарий жазу
Питер
Издательский дом «Питер»
Издательский дом «Питер»
1 829 кітап
808
Айтишная полка
undlake
undlake
277 кітап
760
Все книги O'REILLY
Erik
Erik
47 кітап
205
Издательство O'Reilly
Александр Сидоренко
Александр Сидоренко
58 кітап
60
Около-IT
Дарья
Дарья
95 кітап
31