In general, when you see async void in your code it’s bad news, because:
This is my list of takeaways from a very good talk by Theo Schlossnagle on things you should be thinking about when designing a system for large scale.
With the official release of .Net 4.5 and Visual Studio 2012, I suspect many .Net developers will be rushing to rewrite their data access or network layers (amongst many many other things!) to take advantage of the new async-await…
In Erlang, we have the Supervisor behaviour which makes it very easy to provide the means to monitor and restart a whole network of workers and other supervisors based on some configured strategy.