我一直在思考这个问题。
假设我们使用HttpWebRequest类进行简单的异步Web请求
class webtest1
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("www.google.com");
public webtest1()
{
this.StartWebRequest();
}
void StartWebRequest()
{
webRequest.BeginGetResponse(new AsyncCallback(FinishWebRequest), null);
}
void FinishWebRequest(IAsyncResult result)
{
webRequest.EndGetResponse(result);
}
}
使用同步操作也可以轻松实现相同的效果:
class webtest1
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("www.google.com");
public webtest1()
{
webRequest.GetResponse();
}
}
那么为什么我要使用更加复杂的异步操作,而不是更简单的同步操作呢?是为了节约系统资源吗?