It's not essentially
threads since multiple goroutines are mapped onto one thread (or more if set). It feels like threading but you could just use it as much as you need since it doesn't bring as much overhead as a thread :-)
Check this out: http://en.munknex.net/2011/12/golang-goroutines-performance....