网站大量收购独家精品文档,联系QQ:2885784924

Javaconcurrency线程池之线程池原理(二).pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java concurrency 线程池之线程池原理(二) 线 程 池 示 例 在分析线程池之前,先看一个简单的线程池示例。 1 import java.util.concurrent.Executors; 2 import java.util.co ncurrent.ExecutorService; 3 4 public class ThreadPoolDemo1 { 5 6 public static void main(String[] args) { 7 // 创建一个可重用固定线程数的线程池 8 ExecutorService pool = Executors.newFixedThreadPool(2); 9 // 创建实现了 Runnable 接口对象,Thread 对象当然也实现了 Runnable 接口 10 Thread ta = new MyThread(); 11 Thread tb = new MyThread(); 12 Thread tc = new MyThread(); 13 Thread td = new MyThread(); 14 Thread te = new MyThread(); 15 // 将线程放入池中进行执行 16 pool.execute(ta); 17 pool.execute(tb); 18 pool.execute(tc); 19 pool.execute(td); 20 pool.execute(te); 21 // 关闭线程池 22 pool.shutdown(); 23 } 24 } 25 26 class MyThread extends Thread { 27 28 @Override 29 public void run() { 30 System.out.println(Thread.currentThread().getName()+ is running.); 31 } 32 } 运行结果 : 1 / 10 pool-1-thread-1 is running. pool-1-thread-2 is running. pool-1-thread-1 is running. pool-1-thread-2 is running. pool-1-thread-1 is running. 示例中,包括了线程池的创建,将任务添加到线程池中,关闭线程池这 3 个主要的步骤。稍后,我们会从这 3 个方面来分析 ThreadPoolExecutor。 线 程 池 源 码 分 析 (一) 创建 “线程池” 下面以 newFixedThreadPool()介绍线程池的创建过程。 1. newFixedThreadPool() newFixedThreadPool()在 Executors.java 中定义,源码如下: public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueueRunnable()); } 说明 :newFixedThreadPool(int nThreads)的作用是创建一个线程池,线程池的容量是 nThreads。 newFixedThreadPool()在调用 ThreadPoolExecutor()时,会传递一个 LinkedBlockingQueue()对象,而 LinkedBlockingQueue 是单向链表实现的阻塞队列。在线程池中,就是通过该阻塞队列来实现当线程池中任务数量超过允 许的任

文档评论(0)

xina171127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档