【发布时间】:2014-03-14 14:31:13
【问题描述】:
当空队列被下一个线程填充时,如何添加延迟? 例如:
int numberOfThreads = 55;
private static ExecutorService executor = Executors.newFixedThreadPool(numberOfThreads);
int counter=0;
for(TblHomePageUrl tblHomePageUrl : mainTable)
{
legalInstituteIDList.add(tblHomePageUrl.getIntLegalInstitutionID());
WPCrawlerThread wpThread = new WPCrawlerThread(tblHomePageUrl, maxDepth, politenessDelay);
executor.execute(wpThread);
threadList.add(wpThread);
if(counter<=numThreads){
try {
Thread.sleep(10000);
} catch(InterruptedException ex) {}
}
counter++;
}
我在启动每个线程时向谷歌发送发布请求。 如果 2 或 3 个线程同时运行,我会阻止 Google。如果我可以在填充线程之间添加一个小的延迟。我会远离阻塞。我正在使用java。我需要设置为执行者。
【问题讨论】:
-
您需要提供更多信息才能获得有用的答案。你使用什么语言?你想达到什么目的?实际问题是什么?你能分享一些代码吗?
-
你是对的,谢谢你的帮助。这是我的第一个问题,对不起。我编辑了。
标签: java multithreading fixed pool setting