That's because with a single processor, your second goroutine will busy-wait (monopolize the processor by looping and never letting the other goroutine run).
It works if you put, for example, a time.Sleep(time.Millisecond) inside the for loop:
http://play.golang.org/p/M4jeckcmov