Я пытаюсь запустить горутину (версия go1.4.1 darwin/amd64) одновременно с бесконечным циклом в основном потоке, и я не могу заставить ее работать. Если я правильно понял, go должен запланировать горутину для других потоков, если я укажу GOMAXPROCS, но этого не произойдет. Даже если я явно напишу LockOSThread()
в main, я все равно не увижу вывода. Как запустить горутину в отдельном потоке ОС?
package main
import(
"fmt"
"time"
"runtime"
)
func main() {
runtime.GOMAXPROCS(runtime.NumCPU() * 8)
go func() {
for {
time.Sleep(1 * time.Second)
fmt.Println("From routine")
}
}()
for {}
}