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

You can’t get parallelism with just async/await. Concurrency yes, but as soon as you want to run two async jobs at the same time you take on all the complexities of threads again (because that’s how you actually get parallelism).


>you take on all the complexities of threads

Well no, not _all_ of the complexities because you have await and explicit yielding. It's much easier to pass data from one asynchronous task to another using await than it is to, say, manually code the locks or state machine necessary for the message passing and/or callbacks.


Await and explicit yielding do nothing as soon as you want to actually run multiple tasks at the same time in parallel instead of sequentially but interleaved.


You can just start the tasks and then await all? At least in C# it also provides a clear system on how to switch scheduling contexts at an await.




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

Search: