少儿编程中的线程池 java线程池的应用
在服务器领域,基于java构建的后端服务器占据着领先地位,因此,掌握java并发编程技术,充分利用CPU的并发处理能力是一个开发人员必修的基本功,本文结合线程池源码和实践,简要介绍了线程池和线程变量的使用 线程池概述 线程池是一种“池化。
用newCachedThreadPool方法创建该线程池对象,创建之初里面一个线程都没有,当execute方法或submit方法向线程池提交任务时,会自动新建线程如果线程池中有空余线程,则不会新建这种线程池一般最多情况可以容纳几万个线程。
new SynchronousQueueltRunnable 这个只是初始化的数据,具体线程池了有多少线程是active的,要看你怎么用,像你上面跑的代码,线程池里就只有一个线程在跑。
设线程池是针对这个全局的,在项目中各个位置都会用到是需要设成全局的线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。
方法引用是创建调用现有方法的lambda表达式的简写方式,在这种情况下,即使Person类没有实现Runnable接口,也可以将getSddd方法的方法引用作为Runnable传递给execute方法当调用execute方法时,它会创建一个新线程,并在该线程中调用。
可以通过以下原则解决1设置线程池的最大线程数 2设置线程池的并发处理线程数量 3设置线程池最大的队列线程数 4做好线程池的线程清理工作 做好这几点,理论上没问题了,具体还得看编程者代码的质量PS服务器。
参数一corePoolSize 核心线程数,表示线程池需要一直维护的数量,决定了任务是开辟新的线程还是放到workQueue任务队列中去 参数二maximumPoolSize 指定了线程池中的最大线程数量,这个参数会根据你使用的workQueue任务队列。
与本文知识相关的文章: