ScheduledExecutorService java 多线程

来源:互联网 发布:淘宝达人帖子范文 编辑:程序博客网 时间:2024/05/21 06:35
 ScheduledExecutorService
用这个试试看
比较好用
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try{

readStockCodeList();

System.out.println("get data from google");
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(THREAD_MAX);
        // 尝试启动 多 个线程访问数据
        for (int i = 0; i < stockCodeList.size(); i++) {
         String code = stockCodeList.get(i);

DataThread td = new DataThread();
        td.setStockCode(code);
        // 启动时间延迟  i/THREAD_MAX * 3 秒
        scheduler.schedule(td, i * 1, TimeUnit.SECONDS);
}
        
// 关闭所有子线程,不关的话主线程会一直阻塞
        scheduler.shutdown();

// 等待线程组结束
while (!scheduler.isTerminated()) {
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}

} catch(Exception e){
} finally {
}
}
原创粉丝点击