Перейти к содержимому

Как Go обрабатывает 1 000 000 задач, не перегружая RAM!?

CsMadeEz

0:00 / 0:00

Как Go обрабатывает 1 000 000 задач, не перегружая RAM!?

5 543 просмотра · 1 месяц назад
CsMadeEz
30,7 тыс. подписчиков
5 543 просмотра · 1 месяц назад
Все говорят, что Go-рутины — это всего лишь легковесные потоки в Go-параллельном программировании. Это не так — и к концу этого урока вы тоже так не скажете. Мы создадим монитор доступности Go, который должен проверять 50 000 конечных точек, и используем его, чтобы выяснить, что именно происходит, когда вы вводите эти две буквы. РАЗДЕЛЫ 0:00 Ресторан, где на каждый столик нанимают одного официанта 2:20 Весь трюк — две буквы, 50 000 чеков 4:12 Во сколько на самом деле обходится поток 6:34 Анатомия горутины 9:06 Планировщик — G, M и P 12:42 Параллелизм — это не конкуренция 14:31 Где горутины кусаются 17:18 Столики, а не официанты ССЫЛКИ Discord —   / discord   Ko-fi — https://ko-fi.com/csmadeez Buy Me a Chai (Индия) — https://buymeachai.ezee.li/CsMadeEz ЧТО ВЫ УЗНАЕТЕ • Почему 50 000 потоков расплавят ваш ноутбук: стеки 8 МБ, граница ядра и реальная стоимость переключения контекста • Что такое горутина на самом деле — • Структура g, стек размером 2 КБ и как Go увеличивает стеки путем копирования, когда ОС не может этого сделать • Планировщик G-M-P: очереди выполнения, кража работы и сетевой опросчик, который делает блокировку в сети бесплатной • Почему параллелизм — это не конкуренция, и когда горутины действительно ускоряют ваш код • Три ловушки: утечки горутин, неограниченное создание и гонки данных — с решениями ДАЛЕЕ Каналы — как все эти горутины общаются друг с другом, никогда не записывая одно и то же сообщение. #golang #go #goconcurrency #Go programming #goroutines #Go runtime #concurrency #programming #softwareengineering #systemdesign #computerscience #backend #coding #data races #performance monitoring #stack allocation