Not the code generated by the asynchronous and pending keyword, no. They create code that runs in the current thread if it has a synchronization context. If this is not the case, you are actually getting the threads, but this uses the template for no good reason. The pending expression, what you write on the right side of the await keyword, causes threads to start.
But this stream is often not observed, it may be a stream of device drivers. What are the messages that this is being done with the I / O completion port. Quite often, I / O is always a good reason to use. If you have not imposed WinRT yet, the real reason why async / await is added.
A note on the "presence of a synchronization context." You have one in the stream if the SynchronizationContext.Current property is not null. This almost always takes place in the main thread of the gui application. Also, the only place you usually ever worry about delays doesn't freeze your user interface.
source share