java线程池怎么创建_java中的线程池,如何创建?

Java中的线程池它是线程的容器,或者(换句话说,它是具有执行任务能力的线程的集合)。

我们可以使用ThreadPool框架来定位(或实现)线程池。

线程池可以包含多个线程。每当我们执行任何任务时,线程就会从线程池中出来并完成该任务,然后再次返回线程池。

如果您不使用线程池,那么...

您需要一次又一次地创建重复的线程,并且每次都会浪费内存并破坏对象,从而降低性能。如果请求数量增加/减少,那么我们需要创建更多数量的线程。

如果您使用线程池,那么...

您不需要一次又一次地创建重复的线程,也不会浪费内存,也不必每次都销毁对象,因此性能将得到提高。

如果请求数量增加/减少,那么我们不需要创建更多线程。

示例

ThreadPool包含100个线程,请求数为200,然后将有100个请求解决第一个100个请求,然后在完成任务线程后将释放它们并返回线程池,然后有100个线程将解决下一个100个请求。

在线程池中,我们可以讨论三件事:如何创建一个ThreadPool?

如何向线程池中的线程提交任务?

如何关闭线程池?

让我们看看如何创建线程池,ExecutorService es = Executors.new FixedThreadPool(int);

int是线程池中的线程数

让我们看看如何使用来向线程池中的线程提交任务submit()。ExecutorServiceObject (es) => es.submit(Runnable obj);

让我们看看如何关闭threadPool?ExecutorServiceObject (es) => es.shutdown();

示例import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

class ThreadPoolClass implements Runnable{

String s;

ThreadPoolClass(String str){

s = str;

}

public static void main(String[] args){

ExecutorService es = Executors.newFixedThreadPool(1);

es.submit(new ThreadPoolClass("First Name: Preeti"));

es.submit(new ThreadPoolClass("Second Name: Jain"));

es.shutdown();

}

public void run(){

System.out.println(Thread.currentThread()+ s);

}

}

输出结果D:\Java Articles>java ThreadPoolClass

Thread[pool-1-thread-1,5,main]First Name: Preeti

Thread[pool-1-thread-1,5,main]Second Name: Jain

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值