私はいつもこれについて考えてきました。
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();
}
}
では、もっと単純な同期操作で十分なのに、なぜもっと複雑な非同期操作を使用したいのでしょうか。システムリソースを節約するには?