Код работает как положено,
Каждая запущенная программа имеет доступ к трем файлам: stdin
, stdout
, stderr
.
Все, что вы вводите в свой терминал,Вы пишете в файл stdin
, а вывод программ записывается в stdout
.
В вашем случае вы записали некоторые данные в stdin
, который читается и отображается.
Если вы записали какие-то данные до того, как процесс начнет обрабатывать ввод, это то же самое, что чтение из файла.
В основном, когда программа запускается и получает достаточно ввода, она продолжается, если неполучите шанс выполнить, пока кто-то не прочитает ввод, он все еще находится в stdin
.
Поскольку GOMAXPROCS
не означает, что вы собираетесь запускать только одну процедуру, если она заблокирована, создается новая.GOMAXPROCS
подразумевает, что в любой момент времени может быть запущен только один пользовательский поток.