Как на самом деле устроены каналы в Golang? | Golang channels internals
Разбираемся со внутренним устройством каналов: как реализована потокобезопасноть, как в буферизированном канале хранятся данные, какие интересные оптимизации там есть, как работает оператор Select, как каналы закрываются и др.
----
❤️ Если у вас есть желание поддержать развитие канала:
- 👾 Мой канал в Telegram:
- 🗣 Чат в Telegram: zsSZ63wEJDs3NGVi
- 👀 Golang Digest: - мои регулярные подборки интересных материалов по Go.
----
Другие мои видео про внутреннюю реализацию Go:
Map:
Slice:
Тайминги:
00:00 Вступление
00:38 Какие свойства каналов интересно изучить?
01:22 Проектирование каналов
01:32 В какой области памяти хранятся каналы?
02:00 Структура канала
04:08 Реализация свойств: goroutine-safe и FIFO
05:04 Как работают буфер канала и mutex
07:18 Передача данных в канал
08:21 Получение данных из канала
08:38 Переполнение буфера
09:05 Как устроен планировщик (Scheduler)
10:14 Как поставить горутину на паузу
10:56 Как разбудить горутину: очередь спящих горутин - sendq
13:49 Чтение из переполненного канала
15:57 Пробуждение спящей горутины Sender
17:43 Чтение из пустого канала
18:44 Передача данных напрямую между стэками двух горутин
19:11 Небуферизированные каналы
19:37 Итоги по изучению интересных свойств каналов
20:35 Изучаем код реализации каналов
28:22 Изучаем поведение канала вживую с помощью дебагера
35:23 Как работает Select
37:14 Закрытие канала
38:13 Код закрытия канала
39:20 Итоги: почему каналы спроектированны именно так?
40:48 Заключение
#golang #ntuzov
1 view
730
320
1 month ago 00:00:00 1
12 Апреля! Запуск Акции + Заработок в интернете! Доходы от 1000$ в месяц! Начало в 17:10 Москвы!
1 month ago 00:11:06 1
Были ли американцы на Луне? Экстракт ролика №17
1 month ago 00:03:13 1
Homay / Хомай Русский перевод всех куплетов и припевов
1 month ago 00:14:39 1
Украинский фронт - Сумское наступление. Минус 18 млн на Украине. Какое перемирие.
1 month ago 00:43:52 1
Анатолий Клесов “Поскреби русского - получишь ария!“
1 month ago 00:41:11 1
Путин “диктует“ условия. И Трампу это передают.
1 month ago 00:54:45 1
МотоВесна 25: «Когда в павильоне больше блогеров, чем тормозных дисков»
1 month ago 00:05:41 1
ЕСЛИ БЫ НЕ ТЫ. Александр Рыбинский и Алина Апетёнок. Текст+аккорды
1 month ago 01:38:50 1
Фристайл - Я тебе не верю (Песни 1989 - 1991)
1 month ago 00:16:01 8
Жадность как диагноз. Проклятые миллиарды Путина и его друзей. Миллер, Сечин
1 month ago 00:46:46 1
СТИРАНИЕ ПАМЯТИ Прямой ЭФИР АРиЯ в новую эру 12 лет 111 дней [ 21:21:21 МСК]
1 month ago 00:45:52 1
Вот почему скрипки Страдивари стоят $10,000,000! ft. Михаил Казиник
1 month ago 00:07:01 1
Кто на самом деле управляет армией Украины
1 month ago 00:19:04 2
Джеффри Сакс по русски - Геополитическая глупость
1 month ago 00:01:22 1
Триумф СССР. День Космонавтики
1 month ago 00:07:14 4
ШОКОЛАДНЫЙ ПИРОГ С ХУРМОЙ - рецепт от шефа Бельковича | ПроСто кухня | YouTube-версия
1 month ago 00:28:37 1
10 советских и российских танков, которые были сильнее Арматы.
1 month ago 00:00:00 5
ЛЕОНИД АГУТИН. КОНЦЕРТ НА ВТБ АРЕНЕ с группой «Эсперанто» и Тюменским филармоническим оркестром
1 month ago 00:35:11 4
Как работать с СРА-блогерами в 2025? Тренды, ловушки и секреты успеха
1 month ago 00:00:00 7
Россия и США не договорились. Белый дом предупредил Москву. Трамп: Мне Маск не нужен | УТРО
1 month ago 00:28:08 4
Как выйти из детской позиции и построить жизнь своей мечты
1 month ago 00:12:18 1
Всё, сознались наконец! Как оказалось на самом деле. Люди, пора снять розовые очки и открыть глаза!