メソッドを呼び出すというもので、以降のリダイレクト要求を無効にしています。プロパティーをセットしています。処理にバグがあることは明らかなため、その対策です。場合、そこに含まれる要素を繰り返し処理することができます。属性がわかるので、これらの属性を検出されたリンクのコレクションに追加します。ある理由は、重複して収集する必要がないからです。}すべてのリンクを収集するにはこれまで実行したステップで十分なものの、読者の皆さんは特殊なケースも扱えるようにしたいと思うかもしれません。(これは、整形式文書では起こるべきことではありませんが、たまにそうなることがあります)。用意しておくのが最善です。タグには続けないほうが懸命かもしれません。この他にも多くの機能強化ができるはずです。完全なプログラムを記載します。(この記事の完全なソース・コードへのリンクは、「ダウンロード」セクションに記載されています)。実行結果は収集対象とするページによって異なります。プログラムは特定のページから外部へのすべてのリンクを収集します。このプログラムを拡張してサイト全体をクロールさせるようにするには、プログラムを複数のタスクに分けるのが最善の方法です。遅延によってアプリケーションのブロック状態が発生してしまいます。複数のスレッドに分割する理由としてはネットワーク遅延もあります。各要素をそれぞれのスレッドで処理すれば、ジョブ全体が大幅に高速化されるはずです。スレッドの数は制限しなければなりません。ないと、過剰な数のさまざまなタスクが実行され、実際の作業よりもタスクの切り替えに多くの時間が取られてしまうことになります。(「参考文献」を参照)。オブジェクトを受け取って実行します。取得できるため、プログラムが絶えずスレッドを破棄しては作成しなおすというオーバーヘッドがなくなります。インターフェースそれぞれの実装によって異なります。ユーティリティー・クラスを使用してスレッド・プールを作成します。使用して、基礎となるスレッドを作成するためのファクトリーを提供することもできます。メソッドを使って、実行するタスクを追加します。メソッドはタイムアウトを許可します。サイトの深さに応じて、タイムアウトをこれより短くすることも、長くすることもできます。ストリングしか追加されていない点にも注目してください。ジョブ・キューに追加されていきます。リストの作成方法を改善しました。メソッドの終了時のチェックは、サービスを終了すべきかどうかを調べるためのものです。プールはプログラムが終了するまで実行されるのが通常ですが、このプログラムはプール内のタスクが完了した時点で終了するため、このチェックが必要となります。実行して、そのサイトからすべてのリンクのダンプを取得してみてください。このプログラムは、マルチマップを維持するように変更することも可能です。各リンクのソースがわかっている場合、サイトの階層と相互接続のマップを自動的に生成することができます。クローラー・プログラムは固定サイズのスレッド・プールを利用しますが、使用できるスレッド・プールはこれだけではありません。つのタイプがあります。潜在的にサイズの制限がないプールを作成しますが、スレッドが長い間アイドル状態になるとそのスレッドをキルします。このクラスは、短時間の非同期タスクが多数ある場合に使用してください。プール内に使用可能なスレッドがあれば、そのスレッドが使用され、使用可能なスレッドがなければ新しいスレッドが作成されます。秒間アイドル状態になったスレッドは消去されます。タスクが実行されていないときには、リソースは使用されません。固定サイズのプールはこれとは対照的に、実行するタスクがないときでも、すべてのスレッドを待機状態のままにします。完了する必要があるジョブに役立つプールを作成します。基礎となるスレッドが破棄されると、そのスレッドが再び作成されます。これは固定サイズのスレッド・プールを作成する場合と同様ですが、基礎となるプールのサイズを変更することはできません。オブジェクトのように機能するプールを作成しますが、このプールはキャッチされない例外とスレッド停止状態の処理に優れています。よって他のタスクの実行がブロックされる場合があります。プールに複数のスレッドを持つことで、そのような事態が起こらないようにするのと同時に、スレッドのスケジュールを維持することが可能になります。使用できるコレクションには他のタイプもあります。使用すると、遅延時間が過ぎるまで取り出すことができない項目をコレクションに追加することができます。特定のタイプで、項目がすぐに使用できない場合、遅延時間が過ぎるまでは、その項目はキューから取得できません。クローラーを作成するというタスクを説明しました。クローラーを拡張する方法としては、参照画像の収集や、特定のテキスト・ストリングの検索などが考えられます。このプログラムの機能をさまざまな方法で拡張して、並行コレクション手法の使い方をさらに詳しく学んでください。マニュアル、チュートリアル、その他の資料が揃っています。拡張機能について説明しています。始めて使うときに陥りやすい過ちを避けるには、この記事を読んでください。ついて説明しています。プログラミングのあらゆる側面を網羅した記事が、豊富に用意されています。アプリケーション開発ツールとミドルウェア製品を使ってみてください。コメントコメントを登録するにはサインインあるいは登録してください。