AFAIK - ( and I read a lot about it), asynchronous methods (not asynchronous delegates !) exists to solve the "thread is blocked" problem when dealing with I/O operations like : reading a file or downloading a file :
Richter shows it quite clearly here :

- Task<T>is not related to the i/o blocking issue. it is simply just like open a thread ( plus extra efficiency + functionality ) - but it still causes a thread to consume cpu quanta etc.
And here is my question :
I've read (msdn) that :
An async method provides a convenient way to do potentially long-running work without blocking the caller's thread. The caller of an async method can resume its work without waiting for the async method to finish.
- Is it just like creating a - Task<t>with- ContinueWith?
- Doesn't the terminology is confusing ? - asynchronous methodsare for- i/ooperations (where there are zero threads waiting while i/o operation is made and no thread is dealing with it). But to call a code (which use async) as:- asynchronous methodsis a bit confusing. don't you think ? because I assume there is another thread which is executing...(which is my first question actually).
Where is the confusion from ?
Because Albahari tend to emphasize what Asynchronous methods are for :

p.s. I've read a few question here at SO regarding this topic , but found none which talks about the misclassification that asynchronous methods are here to deal with io operations
 
     
    