Программирование на C#. Многопоточность

  Рет қаралды 10,928

ML START

ML START

Күн бұрын

Пікірлер: 22
@mlstart3006
@mlstart3006 4 жыл бұрын
0:14 - Создание и запуск потока. Свойства потока 3:09 - Отладка многопоточного приложения 6:42 - Пул потоков. Зачем он нужен. Использование 9:10 - Написание собственного пула потоков 12:38 - Проблемы синхронизации потоков. Атомарные и не атомарные операции 18:29 - Другие примитивы синхронизации. Понятие критической секции 26:39 - Оптимизация производительности 32:30 - Корректное закрытие потоков 40:05 - Прочие примитивы синхронизации. Мьютексы, семафоры, события 48:40 - Межпроцессная синхронизация при помощи Mutex. Создание Single Instance приложения 52:00 - Многопоточность и GUI. Понятие контекста синхронизации 59:26 - Потокобезопасные контейнеры 1:08:45 - Асинхронное программирование. Развитие подходов 1:14:12 - Класс Task. Паттерн async/await 1:20:37 - Async/await и WinForms 1:27:54 - Кое-что о внутреннем устройстве async/await 1:29:35 - Полезные методы для работы с Task 1:36:02 - Отмена операций. CancellationToken
@aidarfachrutdinov
@aidarfachrutdinov 4 жыл бұрын
Отлично!
@ВовкаКим-ч2ы
@ВовкаКим-ч2ы 2 жыл бұрын
Лучше объяснение многопоточности и асинхронности на просторах интернета. Большое спасибо автору!
@petrkassadinovich2705
@petrkassadinovich2705 8 ай бұрын
Как по мне - лучший ваш семинарист. Четко, без воды, с детальным объяснением.
@ВладимирКовяко
@ВладимирКовяко 3 жыл бұрын
Наконец-то среди Ютуба нашлось грамотное объяснение на высочайшем уровне!
@jaimeasm5527
@jaimeasm5527 2 жыл бұрын
Великолепное объяснение. Где бы ещё посмотреть лекции с этим преподавателем.
@xelaksal6690
@xelaksal6690 2 жыл бұрын
Супер последовательное и лаконичное обьяснение, гигантское спасибо автору!
@МихайлоДвалі
@МихайлоДвалі Жыл бұрын
Вау. Быстро, четко, по полкам. Скорость реально бимба ❤
@dunno851
@dunno851 Жыл бұрын
Объяснение прекрасное. Спасибо большое:)
@sergvlasov6776
@sergvlasov6776 4 жыл бұрын
Качественно!
@Юрчик-л8у
@Юрчик-л8у Жыл бұрын
спасибо обязательно посмотрю и пересмотрю
@muhammadahmadov6014
@muhammadahmadov6014 Жыл бұрын
Здравствуйте , а есть у данного преподавателя свой отдельный канал ? Очень понравилась подача преподавателя , а так же уровень и глубина знаний
@ВиталийПаламарчук-ъ5я
@ВиталийПаламарчук-ъ5я 4 жыл бұрын
Браво...
@petrkassadinovich2705
@petrkassadinovich2705 8 ай бұрын
32:25 Понимаю, что это реализовали для примера, просто хочу понять, правильно ли распознал возможную проблему. При добавлении экшена в пул есть следующий фрагмент: if (_action.Count == 1) { Monitor.Pulse(_syncRoot); } Получается, что будится один поток и только тогда, когда количество задач строго 1. Но, что если задач будет добавлено много, допустим 30, прежде чем они будут разобраны. Тогда мы разбудим лишь один поток, которому и придется разбирать оставшиеся экшены, в то время как остальные потоки будут спать... То есть, с самого начала, как все потоки уснули, наш тред пулл всегда будет оперировать лишь одним потоком. Возможное решение: Вместо блока с _action.Count == 1, будим потоки циклом, в количестве МИНИМАЛЬНОЕ(кол_спящих_потоков, кол_экшенов). Жизнеспособный ли это вариант?
@timur2887
@timur2887 8 ай бұрын
Там идея обработки случая, когда добавляется первое действие, потому что только в этом случае все потоки спят, если действие не первое, то будить не надо, т.к. идет работа с очередью и есть как минимум один неспящий поток
@СерегаБ-б3н
@СерегаБ-б3н 2 жыл бұрын
Добрый день, а подскажите новичку, как лучше тогда останавливать поток, либо ставить на паузу? Если не через Thread.Abort()
@АртемийКонь
@АртемийКонь Жыл бұрын
Thread.Sleep. А вырубать поток, как я понял не очень хорошая практика, нужно просто дождаться завершения потока. Если я не прав - поправьте.
@Уголок78
@Уголок78 Жыл бұрын
Видео не досмотрел и вопрос задал, гений
@timur2887
@timur2887 8 ай бұрын
Лучше всего брать поток из пула, а вместо того, чтобы его ставить в ожидание в цикле (см Thread.Sleep()) и грузить процессор, его надо возвращать обратно в пул. Именно так и работают таски в асинхронном программировании (см Task.Delay())
@timur2887
@timur2887 8 ай бұрын
А как же SpinLock, Barrier?
@kyk0_924
@kyk0_924 Жыл бұрын
после слов атомарная операция, меня бросило в холодный пот))
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Thread → Task. Многопоточность и Асинхронность
13:39
Архитектор ПО. Александр Желнин
Рет қаралды 33 М.
Вопросы к собеседованию C# (МНОГОПОТОЧНОСТЬ, Garbage Collector, Коллекции, Типы данных)
16:49
Александр Алексеев | Папочка Дотнета
Рет қаралды 2,4 М.
C# programming. Lesson 19. Multithreading. Part 1
28:27
Программирование - это просто
Рет қаралды 88 М.
Марк Шевченко - Микросервисы на C#
1:02:10