线程池
来源:互联网 发布:火狐淘宝无法登陆 编辑:程序博客网 时间:2024/06/06 00:52
private static final Logger logger = Logger.getLogger(Run.class);
public static void main(String[] args) {
logger.info("----爬取全部开始----" + new Date(System.currentTimeMillis()));
List<String> keywords = new ArrayList<String>();
keywords = new ReadFile().readKeyword();
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
for (int i = 0; i < keywords.size(); i++) {
final String keyword = keywords.get(i).trim();
fixedThreadPool.execute(new Runnable() {
public void run() {
try {
logger.info("----关键词:" + keyword + " 爬取开始----"
+ new Date(System.currentTimeMillis()));
new HuaShang().getDoc(keyword);
logger.info("----关键词:" + keyword + " 爬取结束----"
+ new Date(System.currentTimeMillis()));
System.gc();
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
fixedThreadPool.shutdown();
logger.info("----爬取全部结束----" + new Date(System.currentTimeMillis()));
/*logger.info("----爬取全部开始----" + new Date(System.currentTimeMillis()));
List<String> keywords = new ArrayList<String>();
keywords = new ReadFile().readKeyword();
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
for (int i = 0; i < keywords.size(); i++) {
final String keyword = keywords.get(i).trim();
fixedThreadPool.execute( new MyThread(keyword));
}
fixedThreadPool.shutdown();
logger.info("----爬取全部结束----" + new Date(System.currentTimeMillis()));*/
}
public class MyRunnable implements Runnable {
private static final Logger logger = Logger.getLogger(MyRunnable.class);
private String keyword;
public MyRunnable(String keyword)
{
this.keyword = keyword;
}
public void run()
{
/*logger.info("----关键词:" + keyword + " 爬取开始----"
+ new Date(System.currentTimeMillis()));
new HuaShang().getDoc(keyword);
logger.info("----关键词:" + keyword + " 爬取结束----"
+ new Date(System.currentTimeMillis()));*/
logger.info("hello : "+keyword +" " + new Date(System.currentTimeMillis()));
}
}
0 0
- 线程与线程池
- 线程池 线程优先级
- Executor线程,线程池
- 线程、多线程、线程池
- IOS-线程、线程池
- Java线程:线程池
- 线程和线程池
- 线程、多线程、线程池
- 线程、多线程、线程池
- 线程(六)线程池
- ExecutorService(线程池)+线程
- 线程和线程池
- 线程&线程池 简略
- 线程和线程池
- 线程池 线程锁
- 线程、线程池总结
- 线程与线程池
- 线程、锁、线程池
- 图形验证码的实现
- ListView加载更多的最简单实现方式
- DispatchMessage - synchronous or asynchronous
- 简单--> js 计算器
- POJ 1635 Subway tree systems (BSOJ 1092)
- 线程池
- 避免带有变长参数的方法重载
- c# 入门级Java对比 7 —— 委托
- Vijos P1118 统计单词个数(动态规划,划分型DP,字符串)
- 标准库类型vector
- Android开发学习之添加StatusBarNotification(状态栏通知)
- eclipse中java项目的build path详解
- python两个list转dict
- 一位资深前端工程师总结的前端学习经验