设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 创业者
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

Java线程池的四种用法与使用场景(4)

发布时间:2019-10-25 14:41 所属栏目:21 来源:小涛
导读:这是一个单线程池,至始至终都由一个线程来执行。 publicstaticvoidmethod_04(){ ExecutorServiceexecutor=Executors.newSingleThreadExecutor(); for(inti=0;i5;i++){ finalintindex=i; executor.execute(()-{ try

这是一个单线程池,至始至终都由一个线程来执行。

  1. public static void method_04() { 
  2.  
  3.     ExecutorService executor = Executors.newSingleThreadExecutor(); 
  4.  
  5.     for (int i = 0; i < 5; i++) { 
  6.         final int index = i; 
  7.         executor.execute(() -> { 
  8.             try { 
  9.                 Thread.sleep(2 * 1000); 
  10.             } catch (InterruptedException e) { 
  11.                 e.printStackTrace(); 
  12.             } 
  13.             System.out.println(Thread.currentThread().getName() + "   " + index); 
  14.         }); 
  15.     } 
  16.     executor.shutdown(); 

执行结果

Java线程池的四种用法与使用场景

四、线程池的作用

线程池的作用主要是为了提升系统的性能以及使用率。文章刚开始就提到,如果我们使用最简单的方式创建线程,如果用户量比较大,那么就会产生很多创建和销毁线程的动作,这会导致服务器在创建和销毁线程上消耗的性能可能要比处理实际业务花费的时间和性能更多。线程池就是为了解决这种这种问题而出现的。

同样思想的设计还有很多,比如数据库连接池,由于频繁的连接数据库,然而创建连接是一个很消耗性能的事情,所有数据库连接池就出现了。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读