我有一些代码试图创建 100 个线程 http 调用。它似乎被限制在40左右。
当我执行 threadJoin 时,我的 http 调用只得到 38 - 40 组结果,尽管循环是从 1 到 100。
// 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 调用更好的方法吗?