大型网站如何优化湖南省专业建设公司网站
大型网站如何优化,湖南省专业建设公司网站,seo教程seo官网优化详细方法,在什么网站下载wordpressFixedThreadPool 由Executors的newFixedThreadPool方法创建。它是一种线程数量固定的线程池#xff0c;当线程处于空闲状态时#xff0c;他们并不会被回收#xff0c;除非线程池被关闭。当所有的线程都处于活动状态时#xff0c;新的任务都会处于等待状态#xff0c;直到有… FixedThreadPool 由Executors的newFixedThreadPool方法创建。它是一种线程数量固定的线程池当线程处于空闲状态时他们并不会被回收除非线程池被关闭。当所有的线程都处于活动状态时新的任务都会处于等待状态直到有线程空闲出来。FixedThreadPool只有核心线程且该核心线程都不会被回收这意味着它可以更快地响应外界的请求。FixedThreadPool没有额外线程只存在核心线程而且核心线程没有超时机制而且任务队列没有长度的限制。 public class ThreadPoolExecutorTest {public static void main(String[] args) {ExecutorService fixedThreadPool Executors. newFixedThreadPool(3);for (int i 1; i5;i){final int indexi ;fixedThreadPool.execute(new Runnable(){Overridepublic void run() {try {System.out.println(第 index 个线程 Thread.currentThread().getName());Thread.sleep(1000);} catch(InterruptedException e ) {e .printStackTrace();}}});}}
} CachedThreadPool 由Executors的newCachedThreadPool方法创建不存在核心线程只存在数量不定的非核心线程而且其数量最大值为Integer.MAX_VALUE。当线程池中的线程都处于活动时(全满),线程池会创建新的线程来处理新的任务否则就会利用新的线程来处理新的任务线程池中的空闲线程都有超时机制默认超时时长为60s超过60s的空闲线程就会被回收。和FixedThreadPool不同的是CachedThreadPool的任务队列其实相当于一个空的集合这将导致任何任务都会被执行因为在这种场景下SynchronousQueue是不能插入任务的SynchronousQueue是一个特殊的队列在很多情况下可以理解为一个无法储存元素的队列。从CachedThreadPool的特性看这类线程比较适合执行大量耗时较小的任务。当整个线程池都处于闲置状态时线程池中的线程都会因为超时而被停止回收几乎是不占任何系统资源。 ScheduledThreadPool 通过Executors的newScheduledThreadPool方式创建核心线程数量是固定的而非核心线程是没有限制的并且当非核心线程闲置时它会被立即回收ScheduledThreadPool这类线程池主要用于执行定时任务和具有固定时期的重复任务。延迟 public class ThreadPoolExecutorTest { public static void main(String[] args) {ScheduledExecutorService scheduledThreadPool Executors.newScheduledThreadPool(3); scheduledThreadPool.schedule(newRunnable(){ Overridepublic void run() {System.out.println(延迟三秒);}}, 3, TimeUnit.SECONDS);}
} 定时 public class ThreadPoolExecutorTest { public static void main(String[] args) {ScheduledExecutorService scheduledThreadPool Executors.newScheduledThreadPool(3); scheduledThreadPool.scheduleAtFixedRate(newRunnable(){ Override public void run() {System.out.println(延迟1秒后每三秒执行一次);}},1,3,TimeUnit.SECONDS);}} SingleThreadExecutor 通过Executors的newSingleThreadExecutor方法来创建。这类线程池内部只有一个核心线程它确保所有的任务都在同一个线程中按顺序执行。SingleThreadExecutor的意义在于统一所有外界任务一个线程中这使得这些任务之间不需要处理线程同步的问题
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88640.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!