2017-07-11 10 views
0

。 URLリストを2つまたは4つのパーツに分割し、別のスレッドを使用して各パートを検証し、進行状況を単一の進行状況バーに報告するにはどうすればよいですか?チェックのURL

アドバイスをしてください。

更新:

私は、URLのあなたは、このためのParallel.ForEach使用することができますBackgroundWorkerの

private void URLValidator_DoWork(object sender, DoWorkEventArgs e) 
{ 
    foreach (var x in urllist) 
    {   
     Boolean valid = CheckURL(x); 
    } 
} 
+0

を... –

+0

URLのリストを反復処理するコードの部分はどこですか? –

+0

[this](https://stackoverflow.com/questions/11582211/c-sharp-multi-threaded-app-structure)が役に立ったかどうかを確認 – Valkyrie

答えて

3

を使用して検証しています:ちょうどいくつかのスレッドタスクを書き始める

using System.Threading.Tasks; 

private void URLValidator_DoWork(object sender, DoWorkEventArgs e) 
{ 
    Parallel.ForEach(urllist, (url) => 
    { 
     Boolean valid = CheckURL(x); 
     // Do something with the result or save it to a List/Dictionary or ... 
    }); 
} 
+0

ありがとう、これはうまくいきますしかし、UI Freezingを防ぐために、このコードをバックグラウンドワーカーに入れなければなりませんでした。 – max

+0

@max Task.Runはより単純な構文になります –

関連する問題