我一直在思考这个问题。
假设我们有一个使用 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();
}
}
那么,当一个更简单的同步操作就足够时,我为什么要使用更复杂的异步操作呢?节省系统资源?