re: I'm Go Backend developer and love it, Ask Me Anything! VIEW POST

FULL DISCUSSION
 
 

Putting "go" word before any function and automatically create a new concurrent task, in my opinion, is awesome. If you want coordinate many tasks you only need think in the flow of your program and implement your own algorithms, but obviously exist a stack library for this work: the fantastic sync library (golang.org/pkg/sync), look at it!

 

Goroutines are the Go implementation of concurrency.
And you must not compare Concurrency with Parallelism.

Here is a very good video about it from Rob Pike.

And the associated slides (have a look at it, it is very educational) :
Concurrency is not Parallelism

So it is basically using resources efficiently.
Then you can improve the process using parallelism.

So goroutines are basically the Go implementation of concurrency.

I hope that can help.

 

To add something to my previous comment, I can point anyone that is interested in Go concurrency models and so goroutines to the best article I have read about it from Trevor Forrey on Medium.
medium.com/@trevor4e/learning-gos-...

It is the perfect one if you are not very used to it and want to learn it the easy way.
And then have a look at his other article. They are absolutely great materials about Go.

 
code of conduct - report abuse