One big difference is that go hides all access to creating threads from the user, while execution contexts allow you to spin up dedicated thread(s) to solve a particular purpose.