当前位置: 首页 > news >正文

网站建设平台是干什么的网站建设公开课

网站建设平台是干什么的,网站建设公开课,网站上线怎么做,给大家分享个永久免费的云服务器线程池 什么是线程池#xff1f; 线程池#xff1a;一种基于池化思想管理和使用线程的机制 线程池常用类和接口 ExecutorService接口#xff1a;进行线程池的操作访问Executors类#xff1a;创建线程池的工具类ThreadPoolExecutor及其子类#xff1a;封装线程池的核心参…线程池 什么是线程池 线程池一种基于池化思想管理和使用线程的机制 线程池常用类和接口 ExecutorService接口进行线程池的操作访问Executors类创建线程池的工具类ThreadPoolExecutor及其子类封装线程池的核心参数和运行机制 线程池常见的方法 执行无参返回值的线程任务void execute(Runnable command);提交有返回值的线程任务FutureT submit(CallableT task);关闭线程池void shutdown();或shutdownNow();等待线程池关闭boolean awaitTermination(long timeout,TimeUnit unit); 线程池执行流程 提交一个新的线程任务线程池判断池中是否存在空闲线程如果存在分配空闲线程执行线程任务如果线程池中没有空闲的线程则判断核心线程数是否超出设定未超出则创建核心线程用于执行新提交的线程任务如果已超出核心线程数则往工作队列中存放工作队列先进先出当出现空闲线程时从工作队列中依次取出线程任务如果工作队列已经存满则判断最大线程数是否超出未超出最大线程数则创建非核心线程执行线程任务如果已达到了最大线程数则启动拒绝策略 线程数的配置参数 corePoolSize线程池核心线程数可以理解为线程池维护的最小线程数核心线程创建后不会被回收。大于核心线程数的吸纳成在空闲时间超过keepAliveTime后会被回收 maximumPoolSize线程池最大线程数线程池允许创建的最大线程数量包含核心线程池数量 keepAliveTime非核心线程存活时间当一个可被回收的线程的空闲时间大于keepAliveTime就会被回收 TimeUnit时间单位参数keepAliveTime的时间单位 BlockingQueue阻塞工作队列用于存储等待执行的任务 ThreadFactory线程工厂用于创建线程以及自定义线程名称需要实现ThreadFactory接口 RejectedExecutionHandler拒绝策略当线程池中的线程耗尽并且工作队列已满时新提交的任务将会启动拒绝策略处理 线程池的分类 FixedThreadPool线程数固定的线程池 通过Executors.newFixedThreadPool(n);方法创建 // 创建有十个线程的线程池 Executors.newFixedThreadPool(10);// Executors.newFixedThreadPool(n)方法源码 public static ExecutorService newFixedThreadPool(int nThreads) {return new ThreadPoolExecutor(nThreads, nThreads,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueueRunnable()); }通过源码FixedThreadPool线程池的核心线程数和最大线程数都是传入的参数所以是固定线程数的线程池 ​ CacheThreadPool线程数根据任务动态调整的线程池 通过Executors.newCachedThreadPool();方法创建 // 创建一个CacheThreadPool线程池 Executors.newCachedThreadPool();// 源码 public static ExecutorService newCachedThreadPool() {return new ThreadPoolExecutor(0, Integer.MAX_VALUE,60L, TimeUnit.SECONDS,new SynchronousQueueRunnable()); }通过源码CacheThreadPool线程池的核心线程数为0最大线程数为Integer的最大值非核心线程的存活时间为60s SingleThreadPool仅提供一个单线程的线程池 通过Executors.*newSingleThreadExecutor*();方法创建 // 创建一个SingleThreadPool线程池 Executors.newSingleThreadExecutor();// 源码 public static ExecutorService newSingleThreadExecutor() {return new FinalizableDelegatedExecutorService(new ThreadPoolExecutor(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueueRunnable())); }通过源码SingleThreadPool线程池的核心线程数和最大线程数都为1其他线程的存储时间为0 ScheduledThreadPool能实现定时、周期性任务的线程池 通过Executors.newScheduledThreadPool(n);方法创建 // 创建一个ScheduledThreadPool线程池 Executors.newScheduledThreadPool(10);// 源码 public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) {return new ScheduledThreadPoolExecutor(corePoolSize); }⬇⬇⬇⬇⬇⬇// new ScheduledThreadPoolExecutor(corePoolSize);方法源码 public ScheduledThreadPoolExecutor(int corePoolSize) {super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,new DelayedWorkQueue()); }通过源码ScheduledThreadPool线程池的核心线程数为传入的参数最大线程数为Integer类型的最大值非核心线程的存活时间为0空闲立马被回收
http://www.pierceye.com/news/85371/

相关文章:

  • 企业网站开发基本流程html网页设计代码作业大一
  • 知道网站是wp程序做的如何仿站管理培训
  • 沧州网站建设熊掌号口碑好的广州注册公司
  • 湖北网站推广公司技巧四川省网站建设
  • 企业门户网站案例有什么wordpress
  • html手机网站如何制作网站后台 添加用户
  • 找百度做的网站可以过户企业管理制度标准范本
  • 广州门户网站店铺设计方案
  • WordPress显示网站加载时间wordpress 汉化函数
  • 上海这边敲墙拆旧做啥网站的比较多小程序模板多少钱一套
  • 中国交通建设集团英语网站wix和wordpress比较
  • 佛山网站关键词做网站服务器配置
  • 顺德新网站制作网站开通
  • 网站哪里备案有区别么科技网站建设公司
  • 无锡企业网站制作费用网监大队让网站备案
  • 网站如何做权重杭州哪家做企业网站
  • 医疗网站建设多少钱wordpress 视频 插件
  • 大连头条热点新闻个人seo怎么赚钱
  • 盐城城南建设局一局网站怎么做网站邮箱
  • 外卖网站开发方案wordpress 编辑器 空白
  • 新一代 网站备案推广哪个平台好
  • 网站游戏正规网站建设网址导航大全
  • 网站开发需要考虑哪些方面网站和软件建站
  • net网站开发视频wordpress 搭建知识库
  • 九江的网站建设公司微博分享的网站怎么做
  • 建设网站对公司起什么作用是什么意思怎么在网站里给图片做超链接
  • 网站建设 甘肃运营外包
  • 秦皇岛做网站外包手机网站怎么提高关键词
  • 快速搭建网站视频个人营销网站
  • 网络营销活动方案网站seo方案