On Mon, Oct 3, 2016 at 12:10 PM, 'SrimanthG' via golang-nuts <[email protected]> wrote: > If you run the code snippet I pasted in https://play.golang.org/p/4R-WlCiKNT > you will see that it runs both in parallel - hence my confusion
Sleeping in time.Sleep does not count as running. If you mean something else, can you be more specific? My apologies if I'm missing something. Ian > On Monday, October 3, 2016 at 12:04:39 PM UTC-7, Ian Lance Taylor wrote: >> >> On Mon, Oct 3, 2016 at 11:31 AM, 'SrimanthG' via golang-nuts >> <[email protected]> wrote: >> > >> > I ran a Go program with GOMAXPROCS=1 and two goroutines which both did >> > "runtime.LockOSThread()" and slept 10 seconds before exiting. >> > >> > Code: https://play.golang.org/p/4R-WlCiKNT >> > >> > Since I had 1 OS thread and 2 goroutines trying to lock an OS thread, I >> > was >> > expecting only one of them to complete first before the other one >> > started... >> > because the documentation said "Until the calling goroutine exits or >> > calls >> > UnlockOSThread, it will always execute in that thread, and no other >> > goroutine can." >> > >> > However the output shows that both goroutines execute in parallel, >> > contradicting LockOSThread documentation. >> > Can someone explain if the documentation is wrong, if its a bug, or a >> > better >> > way to understand how these constructs work? >> >> GOMAXPROCS set a limit on the number of goroutines that may run in >> parallel. It does not set any sort of limit on the number of threads >> that may exist. You have two threads, which is fine. All that >> setting GOMAXPROCS=1 does is request the scheduler to only run one of >> those threads at a time. >> >> Ian > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
