Есть ли у golang возможность обрабатывать процессы и потоки помимо рутины?

Я знаю, что golang использует рутину go для реализации параллелизма. Я предполагаю, что подпрограмма go легче по весу, чем поток, в одном потоке может быть много подпрограмм. Как golang управляет потоками и подпрограммами? Golang всегда запускает один поток, как Node.js? Или Golang управляет большим количеством потоков и создает больше подпрограмм в этих потоках? Предоставляет ли golang некоторую библиотеку для касания процесса/потока на уровне ОС?


person user3581379    schedule 05.01.2016    source источник
comment
Вы спрашиваете, как вы можете контролировать количество используемых потоков ОС? Прочтите о GOMAXPROCS в документации по пакету времени выполнения.   -  person JimB    schedule 05.01.2016


Ответы (1)


Go действительно управляет большим количеством потоков и создает больше подпрограмм для этих потоков. Go не предоставляет доступ к Process/Thread/Goroutine, у них даже нет имен. Только каналы в Go имеют имена.

person Uvelichitel    schedule 05.01.2016