Горутины (goroutines) и каналы (channels)
Часть курса Go
Программе нужно скачать двадцать файлов. Если написать это обычным способом, она скачает первый, подождёт, скачает второй, снова подождёт, и так до конца. Почти всё время при этом уходит впустую: процессор просто стоит и ждёт сеть, которая медленнее его в миллионы раз. Если бы ожидания шли одновременно, работа закончилась бы в двадцать раз быстрее.
Делать несколько дел сразу - самая старая из трудных задач программирования, и в большинстве языков это выходит по-настоящему больно. Go проектировали именно вокруг неё, и в этом уроке это видно лучше всего. Идей здесь всего две. Горутина (goroutine) - часть программы, которая работает параллельно со всем остальным.
Хочешь изучать Go Горутины (goroutines) и каналы (channels) в реальной среде?
Нажми ниже, получи Linux-машину с Go наготове и пройди Горутины (goroutines) и каналы (channels) на практике вместе с AI-наставником, который знает твой код.
Начать этот урокГорутины (goroutines) и каналы (channels)Чему вы научитесь
- The go keyword
- Goroutine lifetime
- Unbuffered channels
- Buffered channels
- Send and receive
- Range over channel
- Close a channel
