Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

True, on the other hand, go will take care of that to some extend and terminate if all go routines have been deadlocked.

Which means well-designed services will remain available even if only with degraded performance.



I didn't know go can do deadlock detection. Thanks for this, I learned something new today.


it's not a 100% detection. You can certainly pile up deadlocked go routines, but the way most libraries (including the standard library) are setup, if you were to write some server, you'd only deadlock on the request but the app keep running. There is no way to reliably detect that but the service will probably service most requests if you didn't plain deadlock everything.

If all go routines are deadlocked, the runtime will terminate the service.

It's a kind of graceful and somewhat safe degradation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: