The asynchronous programming model pattern
The asynchronous programming model (APM) is an asynchronous operation that uses the IAsyncResult
interface as its design pattern. It's also called the IAsyncResult
pattern. For this purpose, the framework has provided the method named BeginXx
and EndXx
, in which Xx
is the operation name, for instance, BeginRead
and EndRead
provided by the FileStream
class to read bytes from a file asynchronously.
The difference in the synchronous Read()
method with BeginRead()
and EndRead()
can be recognized from the method's declaration, as follows:
public int Read( byte[] array, int offset, int count ) public IAsyncResult BeginRead( byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject ...
Get Functional C# now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.