マルチスレッドでのダウンロードについて
- 題名: マルチスレッドでのダウンロードについて
- 著者: あきら
- 日時: 2005/12/13 14:39:48
- ID: 14198
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: マルチスレッドでのダウンロードについて
- 著者: 魔界の仮面弁士
- 日時: 2005/12/13 14:50:31
- ID: 14200
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: マルチスレッドでのダウンロードについて
- 著者: あきら
- 日時: 2005/12/13 18:53:27
- ID: 14204
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: マルチスレッドでのダウンロードについて
- 著者: 管理人
- URL: http://dobon.net/
- 日時: 2005/12/14 3:53:46
- ID: 14216
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: マルチスレッドでのダウンロードについて
- 著者: あきら
- 日時: 2005/12/14 20:51:56
- ID: 14226
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: マルチスレッドでのダウンロードについて
- 著者: 管理人
- URL: http://dobon.net/
- 日時: 2005/12/15 4:05:05
- ID: 14229
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: マルチスレッドでのダウンロードについて
- 著者: あきら
- 日時: 2005/12/15 16:57:35
- ID: 14236
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: マルチスレッドでのダウンロードについて
- 著者: かつどん
- 日時: 2005/12/16 10:26:44
- ID: 14247
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[8]: マルチスレッドでのダウンロードについて
- 著者: あきら
- 日時: 2005/12/16 13:42:02
- ID: 14249
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。初投稿させていただきます。
マルチスレッドでhtmlをダウンロードするとhtmlが途中までしか読み込まれないという現象が起こります。
同じコードでも、メインスレッド以外のスレッドが4つまでなら全文読み込みされているようですが5つ以上になると上記現象が起こります。
下記コードの
myStream=web.OpenRead(targetURL);
をロックしてしまえば全文読み込まれるのですが、ここをロックしてしまうとマルチスレッドの意味がなくなってしまうような気がするので他に手段があると思うのですが、その方法が分かりません。
何か良い方法があれば、お教えください。
よろしくお願いいたします。
public void myThreadstart()
{
int ThreadNumber=4;
Thread[] th=new Thread[ThreadNumber];
for(i=0;i<ThreadNumber;i++)
{
th[i] = new Thread(new ThreadStart(myThread));
th[i].Name=i.ToString();
th[i].Start();
}
}
private void myThread()
{
string targetURL;
string strHTML;
System.Net.WebClient web=new System.Net.WebClient();
System.IO.Stream myStream;
System.IO.StreamReader myStreamReader;
//各スレッド用の[targetURL]を取得するコード(lock)
myStream=web.OpenRead(targetURL);
myStreamReader=new _
System.IO.StreamReader(myStream,System.Text.Encoding.Default);
strHTML=myStreamReader.ReadToEnd();
//HTMLを解析・保存するコード
}