Я знаю, что golang использует рутину go для реализации параллелизма. Я предполагаю, что подпрограмма go легче по весу, чем поток, в одном потоке может быть много подпрограмм. Как golang управляет потоками и подпрограммами? Golang всегда запускает один поток, как Node.js? Или Golang управляет большим количеством потоков и создает больше подпрограмм в этих потоках? Предоставляет ли golang некоторую библиотеку для касания процесса/потока на уровне ОС?
Есть ли у golang возможность обрабатывать процессы и потоки помимо рутины?
comment
Вы спрашиваете, как вы можете контролировать количество используемых потоков ОС? Прочтите о GOMAXPROCS в документации по пакету времени выполнения.
- person JimB   schedule 05.01.2016
Ответы (1)
Go действительно управляет большим количеством потоков и создает больше подпрограмм для этих потоков. Go не предоставляет доступ к Process/Thread/Goroutine, у них даже нет имен. Только каналы в Go имеют имена.
person
Uvelichitel
schedule
05.01.2016