1

複数の検索を同時に実行するアプリに取り組んでいます。それぞれが独自のスレッドになります。各スレッドは配列をチェックして、結果がすでに表示されているかどうかを確認する必要があります。その結果が表示されていない場合は、結果をユーザーに表示し、それをメイン配列に追加します。したがって、各スレッドはメイン配列に対して同時に読み書きできる必要があります。

私は PHP と JS のバックグラウンドを持っているので、スレッドと C# は初めてです。ここで何か助けていただければ幸いです。

編集:マルチスレッドに BackgroundWorker を使用しています。

4

2 に答える 2

4

BackgroundWorker.NET 4.5 を使用する場合に使用する理由がわかりません

したがって、追加する場合:

  1. 自分に好意を持って使用してくださいTask Parallel Library( Task.Run/ Task.Factory.StartNew()Parallel.For/Parallel.ForEach必要に応じて)。
  2. ロックするか (例lockまたは で)、名前空間SlimReadWriterLockのコレクションを使用する必要があり ます。Collections.Concurrent

これは少し長いトピックなので、さらに疑問や質問がある場合は、回答を適切に編集します。リンクした MSDN ページにいくつかの例があります。

于 2013-03-09T17:18:20.147 に答える
1

私の記憶が正しければ、PHP の「配列」は、キーと値のルックアップ データ構造という点で辞書に似ています。

その場合、かなり最近のバージョンの .Net を使用していることを考えると、「 System.Collections.Concurrent 」名前空間の「 ConcurrentDictionary」が最も簡単に使用できるオプションのように思えます。

幸運を、

于 2013-03-09T17:24:06.760 に答える