ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

创建线程池和使用线程池

2020-09-01 23:03:00  阅读:587  来源: 互联网

标签:程池 队列 创建 任务 线程 使用 ThreadPoolExecutor


1.创建线程池:Java中用ThreadPoolExecutor来表示线程池

ThreadPoolExecutor exe  =new  ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,util,workQueue);

这四个参数的含义是:

  corePoolSize   核心线程数量 maximumPoolSize   线程池中可以容纳的最大线程的数量 keepAliveTime   程池中除了核心线程之外的其他的最长可以保留的时间 util  就是计算这个时间的单位 (TimeUnit枚举类) workQueue 就是等待队列,任务可以储存在任务队列中等待被执行   2.使用线程池: exe.execute(); 里面传一个实现Runnable接口的对象  代表线程池执行该任务 该任务就是封装在实现Runnable接口中抽象方法run中。 3.常见的线程池: newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool:创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool:创建一个定长线程池,支持定时及周期性任务执行。 newSingleThreadExecutor:创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。   创建线程池的方法 例如: ExecutorService pool =Executors.newCachedThreadPool();  //为固定格式 四个线程池都可以套用。

标签:程池,队列,创建,任务,线程,使用,ThreadPoolExecutor
来源: https://www.cnblogs.com/jamers-rz/p/13599330.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有