https://levelup.gitconnected.com/understanding-processes-threads-and-goroutines-in-the-context-of-go-de2fec21c801