3 ms·
> Goroutines don’t switch at arbitrary points That was only ever an implementation detail, though - you always had to program as though goroutines were preempt
by pansa2 6y ago
> Goroutines don’t switch at arbitrary points
That was only ever an implementation detail, though - you always had to program as though goroutines were preemptive. And sure enough, from Go 1.14, “Goroutines are now asynchronously preemptible” [0].
> Go “awaits” by default
Yes, the main selling point of async-await isn’t cooperative vs preemptive, it’s the explicit context switches compared to the implicit context switches of threads, goroutines and stackful coroutines.
[0] https://golang.org/doc/go1.14 https://golang.org/doc/go1.14