DEV Community

Discussion on: I'm Go Backend developer and love it, Ask Me Anything!

Collapse
 
jimfilippou profile image
Dimitrios Filippou

What are goroutines bro?

Collapse
 
shostarsson profile image
Rémi Lavedrine

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.

Collapse
 
shostarsson profile image
Rémi Lavedrine

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.

Collapse
 
manzanit0 profile image
Javier Garcia

I found this helpful x)

gobyexample.com/goroutines

Collapse
 
bregymr profile image
Bregy Malpartida

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!