Параллелизм - ключевой аспект Go. Узнайте, как использовать основные механизмы параллелизма, как проектировать параллельные потоки, а также как отслеживать и устранять неполадки в параллельных сервисах.
Выйдите на новый уровень разработки высокопроизводительных приложений. У чисто последовательного приложения есть два недостатка.
- Если приложение максимально загружает ЦП, вам необходимо переключиться на более быстрое оборудование.
- Если приложение ожидает завершения операций ввода-вывода, в это время ничего нельзя сделать.
Вы избегали параллельного программирования, потому что боялись дополнительной сложности?
Подумайте дважды.
Можете ли вы позволить себе не писать параллельный код?
Однопоточный код, безусловно, легче писать и легче устранять неполадки. Так зачем беспокоиться обо всех подводных камнях и неизвестностях параллельного программирования? И вот почему: параллельный код позволяет вашему серверному программному обеспечению обслуживать больше клиентов и быстрее. Пользователям нравится отзывчивость и быстрота выполнения. И вы можете предоставить им это. Если вы знаете, как выйти за рамки однопоточного программирования.
Улучшите свой код Go с помощью параллелизма для максимальной производительности и минимальной задержки
В язык Go встроен параллелизм, но сам по себе параллелизм сложен по самой своей природе. Параллельные потоки выполнения усложняют программирование.
Изучите и практикуйте параллелизм в Go, чтобы достичь мастерства в создании параллельных приложений.
Чему вы научитесь на этом курсе
- Все о примитивах параллелизма Go: goroutines и channels
- Полезные шаблоны параллелизма: не изобретайте велосипед
- Устранение неполадок в параллельном коде: что делать, если что-то пойдет не так
Deadlocks
Deadlock Detection
Deadlock Prevention with Ordered Locks
Deadlock Prevention with TryLock