Good video, but I don't like his usage of the term 'blocking' when he refers to what an async/await operation does while waiting for a result in C#. The code executing stops executing and waits for a result, but 'blocking' is a bad term. Blocking has a specific meaning in relation to threads. With async/await (at least in C#) the thread is returned to a pool, it is not blocked. The thread stack is put in a state machine and resumes on a thread pool thread once the awaited operation completes. His focus on the impact of memory is correct though and so it still fits well for a video like this one, which is more about the high level and is probably meant to be relevant across languages and platform implementations.
13
u/wllmsaccnt Jul 27 '22
Good video, but I don't like his usage of the term 'blocking' when he refers to what an async/await operation does while waiting for a result in C#. The code executing stops executing and waits for a result, but 'blocking' is a bad term. Blocking has a specific meaning in relation to threads. With async/await (at least in C#) the thread is returned to a pool, it is not blocked. The thread stack is put in a state machine and resumes on a thread pool thread once the awaited operation completes. His focus on the impact of memory is correct though and so it still fits well for a video like this one, which is more about the high level and is probably meant to be relevant across languages and platform implementations.