Myvideo

Guest

Login

Как на самом деле устроены каналы в Golang | Golang channels internals

Uploaded By: Myvideo
1 view
0
0 votes
0

Разбираемся со внутренним устройством каналов: как реализована потокобезопасноть, как в буферизированном канале хранятся данные, какие интересные оптимизации там есть, как работает оператор 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

Share with your friends

Link:

Embed:

Video Size:

Custom size:

x

Add to Playlist:

Favorites
My Playlist
Watch Later