Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Разработка на C# для начинающих #19: Введение в многопоточность — потоки, состояния гонки и почем...

Автор: Benjamin Day

Загружено: 2025-12-12

Просмотров: 77

Описание:

Ваш код по умолчанию выполняется в одном потоке. Но это скоро изменится. Многопоточность повышает производительность, но при этом порождает ошибки, которых вы раньше никогда не встречали.


Что вы узнаете:
• Что такое поток на самом деле (и чем он не является)
• Почему у вашего процессора несколько ядер
• Создание потоков с помощью new Thread()
• Состояние гонки — ошибка, которая иногда работает
• Почему общие данные + несколько потоков = катастрофа
• Ключевое слово lock и синхронизация потоков
• Взаимоблокированные операции для атомарных обновлений
• Взаимоблокировки — когда потоки ждут бесконечно
• Почему использование обычных потоков — это старый способ

Ключевые выводы:
• Потоки совместно используют память — в этом проблема
• Состояния гонки проходят тесты, но приводят к сбою в продакшене
• lock сериализует доступ (один поток за раз)
• Взаимоблокировка быстрее, чем lock, для простых операций
• Всегда блокируйте один и тот же объект для общих данных
• Взаимоблокировки возникают, когда порядок блокировок различается
• Современный C# использует задачи, а не обычные потоки

Мы создадим:
• Многопоточный счетчик (и посмотрим, как он сломается)
• Демонстрация состояния гонки
• Потокобезопасный счетчик с блокировкой
• Сценарий взаимоблокировки (и как его избежать)

Предыдущее видео: Подробнее LINQ Power
Следующее видео: Потокобезопасные коллекции
► Полный плейлист:    • C# and .NET from Scratch - Complete Beginn...  
► Репозиторий кода: https://github.com/benday-inc/csharp-...

Наконец-то поняли, почему многопоточность сложна? Нажмите кнопку «Нравится»!

Подпишитесь и включите уведомления — дальше мы разберемся с потокобезопасными коллекциями!
Какая у вас самая ужасная история о состоянии гонки? Расскажите в комментариях!

#CSharp #Многопоточность #Потоки #DotNet #Программирование #СостояниеГонки #УчебникПоПрограммированию #НаучисьПрограммировать

0:00 Введение в многопоточность
1:19 Ваш код никогда не бывает по-настоящему один
1:45 Проверка потоков
2:32 Создание потока (старый способ)
3:22 Что может пойти не так?

3:50 Состояние гонки — скрытая ошибка
4:36 Как происходят потерянные обновления
5:19 Решение: оператор блокировки
5:42 Блокировка — скорость без блокировок
6:35 Что на самом деле потокобезопасно?

7:26 Взаимная блокировка — когда блокировки блокируются
8:19 Чего не следует делать при многопоточности
9:27 Многопоточность — это действительно сложно
9:54 Предварительный обзор потокобезопасных коллекций
10:37 В: Когда мне действительно нужно беспокоиться о многопоточности? 11:32 Основные выводы
12:35 Практическое задание

Разработка на C# для начинающих #19: Введение в многопоточность — потоки, состояния гонки и почем...

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Разработка на C# для начинающих #18: Больше возможностей LINQ — GroupBy, Join и секреты производи...

Разработка на C# для начинающих #18: Больше возможностей LINQ — GroupBy, Join и секреты производи...

C# Dev for Beginners #21: Tasks - Multithreading with Task.Run, WhenAll, and the Thread Pool

C# Dev for Beginners #21: Tasks - Multithreading with Task.Run, WhenAll, and the Thread Pool

ДАМПЫ В JAVA на практике, разбираем проблемы

ДАМПЫ В JAVA на практике, разбираем проблемы

Разработка на C# для начинающих #20: Потокобезопасные коллекции — ConcurrentDictionary, BlockingC...

Разработка на C# для начинающих #20: Потокобезопасные коллекции — ConcurrentDictionary, BlockingC...

Сравнение CockroachDB и Postgres

Сравнение CockroachDB и Postgres

Код работает в 100 раз медленнее из-за ложного разделения ресурсов.

Код работает в 100 раз медленнее из-за ложного разделения ресурсов.

RISC-V процессор от компании АКВАРИУС

RISC-V процессор от компании АКВАРИУС

Rebuild RAID 1 на дисках большего объёма: почему это плохая идея

Rebuild RAID 1 на дисках большего объёма: почему это плохая идея

ЗАПУСКАЮ Игры на флешке, SD карточке и внешнем HDD

ЗАПУСКАЮ Игры на флешке, SD карточке и внешнем HDD

Разработка на C# для начинающих #22: Async/Await — Прекратите использовать блокирующие потоки и н...

Разработка на C# для начинающих #22: Async/Await — Прекратите использовать блокирующие потоки и н...

Уязвимости в современных JavaScript-фреймворках на примере React, Vue и Angular / А. Важинская

Уязвимости в современных JavaScript-фреймворках на примере React, Vue и Angular / А. Важинская

ИИ - ЭТО ИЛЛЮЗИЯ ИНТЕЛЛЕКТА. Но что он такое и почему совершил революцию?

ИИ - ЭТО ИЛЛЮЗИЯ ИНТЕЛЛЕКТА. Но что он такое и почему совершил революцию?

Можно Ли Запустить Спутник Из Катапульты? SpinLaunch Доказал

Можно Ли Запустить Спутник Из Катапульты? SpinLaunch Доказал

Всё про ошибки в Go | Полное руководство для работы и собеседований

Всё про ошибки в Go | Полное руководство для работы и собеседований

C# Dev #24: Параллельное программирование — используйте все ядра вашего процессора с помощью Para...

C# Dev #24: Параллельное программирование — используйте все ядра вашего процессора с помощью Para...

Typst: Современная замена Word и LaTeX, которую ждали 40 лет

Typst: Современная замена Word и LaTeX, которую ждали 40 лет

Сисадмины больше не нужны? Gemini настраивает Linux сервер и устанавливает cтек N8N. ЭТО ЗАКОННО?

Сисадмины больше не нужны? Gemini настраивает Linux сервер и устанавливает cтек N8N. ЭТО ЗАКОННО?

Если у тебя спросили «Как твои дела?» — НЕ ГОВОРИ! Ты теряешь свою силу | Еврейская мудрость

Если у тебя спросили «Как твои дела?» — НЕ ГОВОРИ! Ты теряешь свою силу | Еврейская мудрость

Как создать материю из пустоты: Физика горения. (Лекция Фейнмана)

Как создать материю из пустоты: Физика горения. (Лекция Фейнмана)

Удачные варианты ветвления #1: Стратегии ветвления для корпоративных команд

Удачные варианты ветвления #1: Стратегии ветвления для корпоративных команд

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: infodtube@gmail.com