100個のスレッド化されたhttp呼び出しを作成しようとしているコードがあります。約40で上限になっているようです。
threadJoinを実行すると、ループが1〜100であるにもかかわらず、http呼び出しから38〜40セットの結果しか得られません。
// thread http calls
pages = 100;
for (page="1";page <= pages; page++) {
thread name="req#page#" {
grabber.setURL('http://site.com/search.htm');
// request headers
grabber.addParam(type="url",name="page",value="#page#");
results = grabber.send().getPrefix();
arrayAppend(VARIABLES.arrResults,results.fileContent);
}
}
// rejoin threads
for (page="2";page <= pages; page++) {
threadJoin('req#page#',10000);
}
CFが作成できるスレッドの数に制限はありますか?バックグラウンドで実行されているJavaと関係がありますか?それとも、それほど多くのhttpリクエストを処理できないのでしょうか。
スレッド化されたHTTP呼び出しよりも、これを行うためのはるかに優れた方法はありますか?