Telegram Group & Telegram Channel
Media is too big
VIEW IN TELEGRAM
Как на самом деле устроены каналы в Golang?

Разбираемся со внутренним устройством каналов: как реализована потокобезопасноть, как в буферизированном канале хранятся данные, какие интересные оптимизации там есть, как работает оператор Select, как каналы закрываются и др.

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_lib



tg-me.com/golang_lib/432
Create:
Last Update:

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

Разбираемся со внутренним устройством каналов: как реализована потокобезопасноть, как в буферизированном канале хранятся данные, какие интересные оптимизации там есть, как работает оператор Select, как каналы закрываются и др.

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_lib

BY Библиотека Go (Golang) разработчика


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/golang_lib/432

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.

At a time when the Indian stock market is peaking and has rallied immensely compared to global markets, there are companies that have not performed in the last 10 years. These are definitely a minor portion of the market considering there are hundreds of stocks that have turned multibagger since 2020. What went wrong with these stocks? Reasons vary from corporate governance, sectoral weakness, company specific and so on. But the more important question is, are these stocks worth buying?

telegram from nl


Telegram Библиотека Go (Golang) разработчика
FROM USA