- wait-until-done: invoke EndXxxx( IAsyncResult ) method
- polling technique: periodically checking the state: IsComplete
- callback mechanisim: have the best performance and scalability
.Net has a single and simple architecture for asynchrounous programming model.