2. There's https://msdn.microsoft.com/en-us/library/ff926074.aspx + your favorite IDE which can automatically reformat the code. Visual Studio can do this. If you want to enforce things, there's: https://stylecop.codeplex.com/
Not quite the same thing, but F# has the MailboxProcessor<'T> type which is conceptually similar to Erlang processes and can be used in the same way.
Then there's `async`/`await`[1], which is built on top of tasks.
[0] https://msdn.microsoft.com/en-us/library/system.threading.ta...
I believe that it was abandoned as a supported scenario a while ago, though. But you can still see artifacts of that in the docs, e.g.:
https://msdn.microsoft.com/en-us/library/system.threading.th...
"The value of the ManagedThreadId property does not vary over time, even if unmanaged code that hosts the common language runtime implements the thread as a fiber."
The overhead in terms of memory is the internal state of each Process + the user's Process state. To see the internal overhead, check out the member variables for the Actor class [1].
It's pretty lightweight, although could probably shave a few bytes here and there.
[1] https://github.com/louthy/language-ext/blob/master/LanguageE...
Two questions:
- Does .NET Core offers something similar to Go goroutines or Erlang "lightweight" processes?
- And something similar to gofmt?