java基础——线程池

Posted zsbenn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础——线程池相关的知识,希望对你有一定的参考价值。

package threadpool;
/*
创建线程的方式四:使用线程池
1.提供指定线程数量的线程池
2.执行指定的线程的操作,需要实现Runnable接口或Callable接口实现类的对象
3.关闭连接池

好处:
1.提高响应速度,减少了创建线程的时间
2.降低资源消耗(重复利用线程池中线程,不需要每次都创建)
3.便于线程管理,设置线程池
@author zsben
@create 2020-01-05 17:05
*/

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;

class NumThread implements Runnable{

    private int number = 100;

    @Override
    public void run() {
        for(int i=2;i<=100;i+=2){
            System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }
}
class NumThread1 implements Runnable{

    private int number = 100;

    @Override
    public void run() {
        for(int i=1;i<=100;i+=2){
            System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }
}

public class ThreadPool {

    public static void main(String[] args) {
        NumThread numThread = new NumThread();
        NumThread1 numThread1 = new NumThread1();
        //1.提供指定线程数量的线程池,进行转型
        ExecutorService executorService = Executors.newFixedThreadPool(10);
        ThreadPoolExecutor service1 = (ThreadPoolExecutor)executorService;

        //设置线程池的属性,进行管理
        service1.setCorePoolSize(15);
        //service1.setKeepAliveTime();

        //2.执行指定的线程的操作,需要实现Runnable接口或Callable接口实现类的对
        executorService.execute(numThread);//适合Runnable
        executorService.execute(numThread1);
        //executorService.submit();//适合Callable

        //3.线程池关闭
        executorService.shutdown();
    }
}

后续博客 https://www.cnblogs.com/zzuli/p/9386463.html

https://blog.csdn.net/weixin_40271838/article/details/79998327

https://blog.csdn.net/weixin_40990818/article/details/93408523

以上是关于java基础——线程池的主要内容,如果未能解决你的问题,请参考以下文章

Java线程池详解

Java 线程池详解

Java线程池详解

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第5节 线程池_2_线程池的代码实现

IDEA对新建java线程池的建议