Текстовый конспект к видео: Boosty:
Patreon:
Полезные ссылки вы найдете в нашем канале в Телеграме: Telegram:
Discord:
Go — это язык, который не просто обладает хорошими инструментами, позволяющими использовать всю мощь многоядерных процессоров с помощью параллельного программирования. Go — это язык, который проектировался *в первую очередь* для конкурентных и параллельных вычислений. Поэтому я не могу пройти мимо данной темы. В материале мы разберёмся как с базовыми инструментами параллельных вычислений (горутины, select и каналы), так и с примитивами синхронизации горутин (мьютексы, атомики, sync.Map, WaitGroup). Реквизиты, если у вас есть желание поддержать меня и развитие канала: Boosty —
Patreon —
Donation Alerts — https://donationalerts.com/r/deferpanic
ETH — tomakado.eth TON — tomakado.ton BTC — 19xwFstmVQsVYqZP64iMVg1StLNSah6Smo 00:00 - Вступление 00:55 - Что такое параллельные вычисления 03:25 - Процессы, потоки, корутины и горутины 05:26 - Как планировщик Go управляет горутинами 07:34 - Синхронизация горутин 09:52 - Буферизованные каналы 11:10 - Закрытие канала 11:42 - Итерирование по каналам 12:10 - Конструкция select 13:04 - Аксиомы каналов 13:37 - Конкурентный доступ и состояние гонки 16:25 - Примитивы синхронизации 16:46 - Mutex 18:40 - Mutex. Техника безопасности 19:23 - RWMutex 19:57 - Атомики (атомарные счётчики) 20:49 - sync.Map 21:11 - WaitGroup 21:48 - Достойны упоминания: sync.Pool и sync.Cond 22:35 - Финал #ityoutubersru #ityoutubers #golang #go #concurrency