当前位置: 首页 > news >正文

最好玩的网站猎头公司找的工作怎么样

最好玩的网站,猎头公司找的工作怎么样,新建网站后域名跳转到别的网站了,衣服网站建设规划书线程池详讲 一、线程池的概述二、线程池三、自定义线程池四、线程池工作流程图五、线程池应用场景 一、线程池的概述 线程池其实就是一种多线程处理形式#xff0c;处理过程中可以将任务添加到队列中#xff0c;然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过… 线程池详讲 一、线程池的概述二、线程池三、自定义线程池四、线程池工作流程图五、线程池应用场景 一、线程池的概述 线程池其实就是一种多线程处理形式处理过程中可以将任务添加到队列中然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程这里的任务就是我们所知的实现了 Runnable 或 Callable 接口的实例对象。 线程池的优势 线程和任务分离提升了线程重用性。控制线程的并发数量降低服务器压力统一管理所有线程。提升系统响应速度假如创建线程用的时间为 T1执行任务用的时间为 T2销毁线程用的时间为 T3那么使用线程池就免去了 T1 和 T3 的时间。 二、线程池 为什么要使用线程池 降低资源消耗通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源如果无限制的创建不仅会消耗系统资源还会降低系统的稳定性使用线程池可以进行统一的分配、调优和监控。 jdk 自带的四种线程池 Java 通过 Executors 提供了四种线程池分别是 newCachedThreadPool 创建一个可缓存线程池如果线程池长度不超过处理需要可灵活回收空闲线程若无可回收则新建线程。newFixedThreadPool 创建一个定长线程池可控制线程最大并发数超过的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池支持定时及周期性任务执行。newSingleThreadExecutor 创建一个单线程化的线程池它只会用唯一的工作线程来执行任务保证所有任务按照指定顺序执行。 通过 Executors. 上面的静态方法得到的连接池都有一个共同点就是他们都是去 new ThreadPoolExecutor 然后进行返回。 接下来对 ThreadPoolExecutor 构造方法的每个操作进行解释 参数意义corePoolSize指定了线程池里的线程数量核心线程池大小(0-Integer.MAX_VALUE)maximumPoolSize指定了线程池里的最大线程数量(0-Integer.MAX_VALUE)keepAliveTime当线程池线程数量大于corePoolSize时候多出来的空闲线程多长时间会被销毁(0-Integer.MAX_VALUE)unit时间单位TimeUnitworkQueue任务队列阻塞任务队列用于存放提交但是尚未被执行的任务threadFactory线程工厂用于创建线程线程工厂就是给我们new线程的handler所谓拒绝策略是指将任务添加到线程池中时线程池拒绝该任务所采取的相应策略 常见的工作队列对应参数5我们有如下选择这些阻塞队列阻塞队列的意思是当队列中没有值的时候取值操作会阻塞一直等队列中产生值。 ArrayBlockingQueue基于数据结构的有界阻塞队列FIFO。LinkedBlockingQueue基于链表结构的有界阻塞队列FIFO。 线程池提供的四种拒绝策略对应参数7 AbortPolicy直接抛出异常默认策略CallerRunsPolicy用调用者所在线程来执行任务DiscardOldestPolicy丢弃阻塞队列中最靠前的任务并执行当前任务。DiscardPolicy直接丢弃任务。 了解完 ThreadPoolExecutor 构造方法的各个参数之后来看看 jdk 为我们提供的四个线程池是如何实现的吧 newCachedThreadPool public static ExecutorService newCachedThreadPool() {return new ThreadPoolExecutor(0, Integer.MAX_VALUE,60L, TimeUnit.SECONDS,new SynchronousQueueRunnable());} 来看看其参数 核心线程池大小为0 最大线程数支持Integer.MAX_VALUE 线程过期时间为60s 使用了 SynchronousQueue 作为工作队列。 拒绝策略没有指定默认是抛出异常。newFixedThreadPool public static ExecutorService newFixedThreadPool(int nThreads) {return new ThreadPoolExecutor(nThreads, nThreads,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueueRunnable());} 来看看其参数核心线程数和最大线程数需咱指定都是相同的也就是说不支持缓存线程。没有缓存线程自然过期时间就是0了。工作队列使用的是 LinkedBlockingQueue拒绝策略没有指定默认是抛出异常。newScheduledThreadPool public ScheduledThreadPoolExecutor(int corePoolSize) {super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,new DelayedWorkQueue()); } 核心线程池大小传入参数 最大线程池大小为Integer.MAX_VALUE 线程过期时间为0ms DelayedWorkQueue作为工作队列.newSingleThreadExecutor public static ExecutorService newSingleThreadExecutor() {return new FinalizableDelegatedExecutorService(new ThreadPoolExecutor(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueueRunnable())); } 核心线程池大小1 最大线程池大小为1 线程过期时间为0ms LinkedBlockingQueue作为工作队列.三、自定义线程池 ​ 这里是针对JDK1.8版本使用JDK自带的线程池会出现OOM问题中小型公司一般很难遇到在阿里巴巴开发文档上面有明确的标识 上面解释了 ThreadPoolExecutor 的构造参数那现在自己自定义的话其实很简单本质的话就是自定义 ThreadFactory实现里面的 newThread 方法即可如下所示 public static void main(String[] args) {AtomicInteger num new AtomicInteger(0);ThreadPoolExecutor threadPoolExecutor new ThreadPoolExecutor(5,30,60L, TimeUnit.SECONDS,new ArrayBlockingQueue(10),/*Executors.defaultThreadFactory()*/new ThreadFactory() {Overridepublic Thread newThread(Runnable r) {Thread thread new Thread(r);thread.setName(myThread- num.getAndIncrement());thread.setDaemon(false);return thread;}},new ThreadPoolExecutor.AbortPolicy());for (int i 0; i 100; i) {threadPoolExecutor.submit(() - {System.out.println(Thread.currentThread() -----------------);});}}四、线程池工作流程图 五、线程池应用场景 Tomcat 在处理 Web 请求的时候就用了线程池我在《Tomcat架构解析》这边书看到的下面给出书中Tomcat处理 Web 请求的流程图吧手机不行拍的不是很轻感兴趣大家可以买来看看不错的。 Tomcat 使用的线程池是自定义的。 在开发通讯系统的时候我是想用它出来消息的串行问题的提高效率。 网购商品秒杀。 云盘文件上传和下载。 12306网上购票系统等等。
http://www.dnsts.com.cn/news/149410.html

相关文章:

  • 如何拿qq空间做网站网页空间申请
  • 房产中介网站模板自主网站建设
  • 网站主题怎么介绍编程代码网站
  • 重庆网站开发解决方案宝安网站设计网站建设哪家快
  • 企业网站的功能可分为前台和后台两个部分微信不能分享wordpress
  • 没固定ip怎么做网站wordpress get_page_link
  • 备案网站建设方案书模板赣州酷学网络科技有限公司
  • 电子商务网站的建设视频安卓app上架费用
  • 网上做期末试卷的网站做外贸哪个网站可以接单
  • 厦门网站seo优化wordpress调用首页标签
  • 高端网站设计杭州免费建设网站制作
  • 淮南公司网站建设多少费用在什么网站可以做外贸出口劳保鞋
  • 如何给给公司建立网站宁夏网站设计
  • 大气微电影类网站织梦模板完整版h5制作哪个网站好
  • 网页设计实训总结万能版上海网站建设seodian
  • 厦门英文网站建设网络推广方案书模板
  • 网站响应时间 标准企业网站建设产品设计书
  • 怎么制作网站半透明背景中秋节网页制作素材
  • 网站提交订单付款才跳转怎么做大连seo建站
  • 如何做盆栽蔬菜网站南京网站建设培训
  • 深圳网站开发哪家专业静态网站建设论文
  • mvc 手机网站开发vs2008不能新建网站
  • 龙岩市住房与城乡建设部网站制作一个网页需要哪几个步骤
  • 谁有人跟动物做的网站wordpress主题后台不显示
  • 想自己做网站怎么做重庆市工程造价信息价查询
  • 长沙做网站要微联讯点很好如何建立电子商务网站
  • 汕头有建网站公司吗请问做网站和编程哪个容易些
  • 聊城市网站建设wordpress .less
  • 南京建设网站公司哪家好公司网站建设需要注意什么
  • 什么网站可以做海报网站维护的主要内容