
Основи goroutines
Goroutines, ключове слово go, sync.WaitGroup, runtime.GOMAXPROCS, витоки goroutine
1Що таке goroutine у Go?
Що таке goroutine у Go?
Відповідь
Goroutine — це функція, яка виконується конкурентно з іншими функціями та керується середовищем виконання Go, а не ОС. Вона надзвичайно легка (кілька КБ початкового стеку) порівняно з потоком ОС (кілька МБ). Планувальник Go може мультиплексувати тисячі чи навіть мільйони goroutines на обмеженій кількості потоків ОС, що робить конкурентність дуже доступною в Go.
2Як запустити нову goroutine у Go?
Як запустити нову goroutine у Go?
Відповідь
Ключове слово go, за яким іде виклик функції, запускає нову goroutine. Наприклад, 'go myFunction()' або 'go func() { ... }()' для анонімної функції. Goroutine виконується негайно паралельно з кодом, що її викликає. Увага: функція main автоматично не очікує завершення запущених goroutines.
3У чому полягає основна відмінність між goroutine та потоком ОС?
У чому полягає основна відмінність між goroutine та потоком ОС?
Відповідь
Goroutine споживає близько 2 КБ початкового стеку, тоді як потік ОС зазвичай потребує 1-2 МБ. Середовище виконання Go керує плануванням goroutines у просторі користувача (M:N scheduling), мультиплексуючи тисячі goroutines на кількох потоках ОС. Це дозволяє створювати мільйони goroutines без перевантаження системи, на відміну від потоків ОС, обмежених ресурсами.
Що станеться, якщо основна програма завершиться до того, як goroutine закінчить роботу?
Як середовище виконання Go керує виконанням goroutines?
+17 питань зі співбесід
Інші теми співбесід Go
Основи Go
Структури даних Go
Інтерфейси Go
Обробка помилок
Channels
Go Modules
HTTP-сервер
HTTP-клієнт
Кодування JSON
Database/SQL
Пакет context
Testing
Патерни конкурентності
Примітиви синхронізації
Веб-фреймворки Go
Проєктування REST API
gRPC
Reflection
Керування пам'яттю
Оптимізація продуктивності
Generics
Go Design Patterns
Microservices
Безпека та автентифікація
Docker & Containerization
Kubernetes Basics
Просунутий Go
Розробка CLI
Опануй Go для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно