Изучаем Golang. Урок №21. Concurrency (3). Nil, Unbuffered, Buffered channels. Deadlock.

preview_player
Показать описание
В данном видео мы продолжаем изучать язык Go (Golang). Мы изучим такие разновидности каналов как, nil`овые, небуферизованные, буферизованные. Научимся записывать и читать данные из каналов, закрывать их, проверять на закрытие, а также читать значения каналов в цикле.

0:00 Содержание
0:25 Определение и назначение каналов
2:05 Nil`овый канал
2:36 len и cap канала
3:25 Запись и чтение из каналов
4:03 Deadlock
5:13 Закрытие каналов (close)
6:01 Небуферизованный канал (unbuffered channel)
11:45 Работа с каналом после его закрытия
13:24 Направленность каналов
15:13 Буферизованный канал (buffered channel)
20:46 Циклы по каналам
23:25 Для чего нужно закрывать каналы?
24:05 Чтение из закрытого канала
24:42 Проверка на закрытие канала
26:24 For .. range для итерации по каналам
29:05 Какой тип каналов использовать?
29:24 Мы сделали это
Рекомендации по теме
Комментарии
Автор

Побольше бы преподавателей, которые так хорошо структурируют свой урок и разбирают на примерах мелкие неочевидные вещи, которые невероятно важны, большое спасибо за твой труд. Тебе бы свой курс создать по обучению на платной основе, вышло бы круто. Это конечно другая история и по сути уже бизнес, заниматься таким невозможно, одновременно работая, но к слову, у тебя бы получилось хорошо обучать, это факт.

last
Автор

Самое доступное, понятное и наглядное объяснение данной непростой темы. Спасибо Вам большое, и успехов во всем!

kseniasamspace
Автор

Кайф - без нудятины и водяной воды. Вот прям на одном дыхании смотрятся курсы!

kydrhue
Автор

Боже, ну наконец-то я понял что такое дедлок

Necessitudo
Автор

Темы все интереснее и интереснее - где просмотры ??, почему не учимся !

andreichemeris
Автор

Просто лучший! Спасибо большое, реально красава, Игорь!

dmigtlb
Автор

Наверное лучший разбор темы! Респект и уважуха!!!

axelsimov
Автор

Вот это огонь! Спасибо большое!

Про структуру канала в конце все верно, действительно мало где про это говорят. Единственное, что добавил бы в структуру, это тот самый флаг, которым мы проверяем закрыт канал или нет.

Не знал, что есть ещё мьютекс внутри, увидел пример использования Канала как мьютекс в следующих видео) спасибо!

petrustyuzhanin
Автор

спасибо большое!!! очень хорошо подана информация

idxghyk
Автор

спасибо, чувак, пересматриваю 2 раз, отличное обьяснение

dmitrykhrniak
Автор

кто ничего не понял на 11:46, посмотрите дальше про буферизированный канал и вернитесь назад, станет гораздо понятнее.

elojztc
Автор

Не совсем понимаю зачем создавать сразу однонаправленный канал на запись, если мы не сможем из него прочитать.
И тоже самое с однонаправленным каналом на чтение

denis_hromov
Автор

Есть ли какие-то кейсы когда nil канал может пригодиться?

UAStriker