2019独角兽企业重金招聘Python工程师标准>>>

代码:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;public class ExecutorTest {//网页数private static Integer pages=1;//执行标识private static boolean exeFlag=true;public static void main(String[] args) {//创建ExcutorService 连接池默认连接10个ExecutorService executorService = Executors.newFixedThreadPool(10);while (exeFlag){if (pages<=100){executorService.execute(new Runnable() {public void run() {System.out.println("爬取了第"+pages+"网页....");pages++;}});}else {if(((ThreadPoolExecutor)executorService).getActiveCount()==0){ // 活动线程个数是0executorService.shutdown(); // 结束所有线程exeFlag=false;System.out.println("爬虫任务已经完成");}}try {Thread.sleep(100); // 线程休息0.1秒} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
}

运行结果:

 ExecutorTest
爬取了第1网页....
爬取了第2网页....
爬取了第3网页....
爬取了第4网页....
爬取了第5网页....
爬取了第6网页....
爬取了第7网页....
爬取了第8网页....
爬取了第9网页....
爬取了第10网页....
爬取了第11网页....
爬取了第12网页....
爬取了第13网页....
爬取了第14网页....
爬取了第15网页....
爬取了第16网页....
爬取了第17网页....
爬取了第18网页....
爬取了第19网页....
爬取了第20网页....
爬取了第21网页....
爬取了第22网页....
爬取了第23网页....
爬取了第24网页....
爬取了第25网页....
爬取了第26网页....
爬取了第27网页....
爬取了第28网页....
爬取了第29网页....
爬取了第30网页....
爬取了第31网页....
爬取了第32网页....
爬取了第33网页....
爬取了第34网页....
爬取了第35网页....
爬取了第36网页....
爬取了第37网页....
爬取了第38网页....
爬取了第39网页....
爬取了第40网页....
爬取了第41网页....
爬取了第42网页....
爬取了第43网页....
爬取了第44网页....
爬取了第45网页....
爬取了第46网页....
爬取了第47网页....
爬取了第48网页....
爬取了第49网页....
爬取了第50网页....
爬取了第51网页....
爬取了第52网页....
爬取了第53网页....
爬取了第54网页....
爬取了第55网页....
爬取了第56网页....
爬取了第57网页....
爬取了第58网页....
爬取了第59网页....
爬取了第60网页....
爬取了第61网页....
爬取了第62网页....
爬取了第63网页....
爬取了第64网页....
爬取了第65网页....
爬取了第66网页....
爬取了第67网页....
爬取了第68网页....
爬取了第69网页....
爬取了第70网页....
爬取了第71网页....
爬取了第72网页....
爬取了第73网页....
爬取了第74网页....
爬取了第75网页....
爬取了第76网页....
爬取了第77网页....
爬取了第78网页....
爬取了第79网页....
爬取了第80网页....
爬取了第81网页....
爬取了第82网页....
爬取了第83网页....
爬取了第84网页....
爬取了第85网页....
爬取了第86网页....
爬取了第87网页....
爬取了第88网页....
爬取了第89网页....
爬取了第90网页....
爬取了第91网页....
爬取了第92网页....
爬取了第93网页....
爬取了第94网页....
爬取了第95网页....
爬取了第96网页....
爬取了第97网页....
爬取了第98网页....
爬取了第99网页....
爬取了第100网页....
爬虫任务已经完成Process finished with exit code 0

转载于:https://my.oschina.net/ch66880/blog/1525611

多线程EXecutor 柜架示例相关推荐

  1. python代码示例下载-Python实现多线程下载脚本的示例代码

    0x01 分析 一个简单的多线程下载资源的Python脚本,主要实现部分包含两个类: Download类:包含download()和get_complete_rate()两种方法.download() ...

  2. boost::log模块实现多线程异步日志记录示例

    boost::log模块实现多线程异步日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现多线程异步日志记录示例 C++实现代码 #include <stdexcept ...

  3. python多线程扫描_Python多线程扫描端口代码示例

    本文代码实现Python多线程扫描端口,具体实现代码如下. #coding:utf-8 import socket import thread import time socket.setdefaul ...

  4. QT的Graphics View柜架

    Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放. 这个柜架也 ...

  5. 多线程Java Socket编程示例(转)

    这篇做为学习孙卫琴<<Java网络编程精解>>的学习笔记吧.其中采用Java 5的ExecutorService来进行线程池的方式实现多线程,模拟客户端多用户向同一服务器端发送 ...

  6. java同步通信方式_java多线程同步与通信示例(synchronized方式)

    java多线程同步示例,来自<疯狂java讲义>.通过synchronized,wait(),notify(),notifyAll()实现多线程同步与通信.假设现在系统中有两个线程,这两个 ...

  7. python爬虫之多线程、多进程+代码示例

    python爬虫之多线程.多进程 使用多进程.多线程编写爬虫的代码能有效的提高爬虫爬取目标网站的效率. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪 ...

  8. 测试方向基础-多线程知识和常见示例

    文章目录 线程和多线程 程序.进程.线程的区别: 线程的声明周期: 用java语言创建多线程: 多线程的同步和死锁问题: 常见线程同步案例 生产者消费者示例1: 生产者消费者示例2 卖票示例 车间玩具 ...

  9. 一个多线程应用的最佳示例

    刚刚完成一个网站抓取数据的任务,在抓取的时候用到了多线程. 任务描述:     有个信息发布网站,按照条件会查询出数据,按页显示,每页15条,每条信息为一个url链接.点击链接再打开一个页面,显示这条 ...

最新文章

  1. LinkedList 实现 Queue
  2. 数值数据表示的三要素
  3. 破解必备之:MSIL指令集
  4. 中国人事考试网html制作,中国人事考试网 登录入口
  5. 虚拟文件系统模拟_容器和虚拟机到底有啥区别?
  6. (转)高效的MySQL分页
  7. 从sap获取数据写入数据库操作
  8. windows性能监视器API
  9. 感谢ZhangYu dalao回关
  10. 玉米社:SEM竞价搜索推广移动优先还是PC优先,怎么设置?
  11. python程序最多可以开多少个线程_使用python测测你的系统最多能创建多少个线程...
  12. 程序人生 - 猫咪冷知识!猫咪“呼噜呼噜”声究竟代表什么?
  13. [转载] Flex 4 皮肤功能介绍
  14. AES算法描述及C语言实现
  15. 交换内存SWAP使用率90%
  16. Java物联网企业级项目 亿可控系统分析与设计
  17. 【观世界】物理-事理-人理
  18. 安装Nvidia驱动run文件
  19. 宇道生物完成复星医药Pre-A轮融资,专注药物研发信息化和智能化开发...
  20. 如果你一再做出错误的决定,很可能是认知出问题了

热门文章

  1. 【ES6】JS类的用法class
  2. LeetCode 583. Delete Operation for Two Strings--动态规划 DP--Java,Python,C++解法
  3. redis设置主从复制-slave Replication--解决报错:(error) READONLY You can't write against a read only slave.
  4. 京东主图怎么保存原图_京东自营怎么做?详解京东平台操作方法
  5. windows兼容Linux php,支持windows与linux的php计划任务的实现方法
  6. 京津冀计算机学科大学排名,2021京津冀地区大学排名!北师大第3,北航第7,人大不敌天大?...
  7. 【java 性能优化实战】1 理论分析:性能优化,有哪些衡量指标、性能优化的技术手段
  8. mac终端python不能显示中文_Matplotlib为Mac显示中文,ForMac
  9. 计算机组装与维修单元卷,计算机组装与维修期中考试试卷及答案
  10. java 给控件添加边框_Android UI 利用Drawable Shape给控件加边框/立体效果