Как на самом деле устроены каналы в 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
7 days ago 00:08:22 1
ЗЕМЛЯ ПЫТАЕТСЯ ПРЕДУПРЕДИТЬ НАС ЧЕРЕЗ КАТАСТРОФЫ?
7 days ago 00:00:00 1
20 Марта! Запуск Акции + Заработок в интернете! Доходы от 1000$ в месяц! Начало в 17:10 Москвы!
7 days ago 00:57:45 1
#ПРИЧАСТИЕ Рассказ о чуде Божьем, произошедшего со мной в советской армии #АрхиепископСергейЖуравлев
7 days ago 00:18:06 1
Предатели в МВД: на эти миллиарды ОНИ и живут! Мигранты рады!
7 days ago 00:11:12 1
УРОК “ОТПУСТИТЬ“ КАК ВАЖНЫЙ КЛЮЧ ОТНОШЕНИЙ БЛИЗНЕЦОВЫХ ПЛАМЁН #близнецовоепламя #близнецовыепламена
7 days ago 00:36:06 1
Илон Маск встретился с 10 летней гениальной девочкой, и то, что произошло дальше, шокировало всех!
7 days ago 00:07:16 1
Старый флеболог: Смотрите, как я легко чищу сосуды от бляшек и тромбов!
7 days ago 00:05:07 1
Тетя держала в Секрете РЕЦЕПТ этого МЯСА! Его подавали в элитных ресторанах СССР. МЯСО По-Кремлёвски
7 days ago 00:15:41 1
Эксклюзивный комментарий Алины Лушавиной из суда
7 days ago 00:11:19 1
Русский царь - Я не русский, мои предки казахи-гунны Иван Грозный и книга английского дипломата
7 days ago 00:02:13 1
Они родились в этот день 20 МАРТА
7 days ago 00:26:49 1
ВЫКИДЫВАЮ ОБЫЧНУЮ СВАРКУ! Даже жена справилась с первого раза!
7 days ago 00:11:10 1
SW2012. Переделка. Размещаем УМ
7 days ago 00:32:53 1
Архимандрит Ианнуарий (Ивлиев). Евангелие от Луки. 29. Гл.13,1-21
7 days ago 00:36:52 3
Почему глупые люди так опасны? Теория Бонхёффера
7 days ago 00:00:42 1
Это самая невероятная разборка на дороге 🧸🤷♂️
7 days ago 00:23:04 4
HONKAI:STAR RAIL ✦ МИДЕЙ ✦ ПОЛНЫЙ ГАЙД НА ПРИНЦА КРЕМНОСА
7 days ago 00:00:37 2
Как вырастить АБРИКОС дома? 🤔🤔🤔
1 week ago 00:10:27 1
Новости Путин и Трамп договорились.США может признать Крым за Россией.Бавария готовится к войне
1 week ago 10:58:38 1
🏅Выступление Президента SuccessTogether. Новая компания + Тренинг “Изменение кода Судьбы“ 3 часть!
1 week ago 00:20:07 1
Полное списание долгов. Аштар Шеран Почему долговое рабство будет ликвидировано
1 week ago 01:03:55 4
🚉 Кондуктор не спешит, кондуктор понимает... Щелин: самая СЛАБАЯ позиция у Трампа! Исламский Рейх ЕС
1 week ago 00:01:23 3
Как Google пытался спасти поиск, но создал монстра
1 week ago 00:06:19 1
КАК ПРЕСЕЧЬ ГЛОБАЛЬНУЮ ЖКХ-АФЕРУ? ВЫХОД ЕСТЬ! ПОЛНЫЙ СОВМЕСТНЫЙ ИГНОР ОПЛАТЫ ЖКХ. #Ольга_Ли