Why doesn't Go's LockOSThread lock this OS thread?
From the runtime
package documentation:
The GOMAXPROCS variable limits the number of operating system threads that can execute user-level Go code simultaneously. There is no limit to the number of threads that can be blocked in system calls on behalf of Go code; those do not count against the GOMAXPROCS limit.
The sleeping thread doesn't count towards the GOMAXPROCS
value of 1, so Go is free to have another thread run the fmt.Println
goroutine.