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

网站中的表格网站词库怎么做

网站中的表格,网站词库怎么做,深圳做营销网站公司,WordPress4.5取消了前言 直接点题 核心线程数 - corePoolSize 最大线程数 - maximumPoolSize 空闲线程存活时间 - keepAliveTime 存活时间单位 - unit 任务队列 - workQueue 线程工厂 - threadFactory 拒绝策略- handler 概念 什么是池#xff1f; 池#xff08;Pool#xff09;…前言 直接点题 核心线程数 - corePoolSize 最大线程数 - maximumPoolSize 空闲线程存活时间 - keepAliveTime 存活时间单位 - unit 任务队列 - workQueue 线程工厂 - threadFactory 拒绝策略- handler 概念 什么是池 池Pool可以把它理解为一个容器里面装着各种我们所需要的资源我们需要资源的时候去这个容器里面拿而不需要每次使用的时候去创建从而达到一个复用的效果提高资源可利用率。 线程池的概念 线程池是一种多线程处理形式处理过程中将任务添加到队列然后在创建线程后自动启动这些任务。简单点理解就是在需要使用多线程执行任务的时候不需要进行线程的创建而是把任务提交到线程池中由线程池按照一定的规则处理。 详解 1 corePoolSize核心线程数 corePoolSize表示核心线程数核心线程数是指线程池中始终保持着活动的线程数量可以这么理解就算线程池中没有任务执行线程为空闲状态也不会被回收。 但是也有可以被回收的情况例如我们设置线程池中 allowCoreThreadTimeOut 为 true 那么核心线程数也会因为超过一定的阈值而被回收设置 allowCoreThreadTimeOut 的案例如下   public class PoolTest {public static void main(String[] args) {// 创建一个阻塞队列用于存放等待执行的任务BlockingQueueRunnable queue new LinkedBlockingQueue(10);// 创建自定义的线程池设置核心线程数、最大线程数、等待时间、时间单位、任务队列等参数ThreadPoolExecutor executor new ThreadPoolExecutor(5, 10, 1, TimeUnit.MINUTES, queue);// 提交任务给线程池使用 execute() 方法提交for (int i 0; i 10; i) {Runnable task new MyTask(i);executor.execute(task);}// 设置为 true 那么一些空闲的核心线程可能会在超过一分钟之后被回收掉executor.allowCoreThreadTimeOut(true);// 关闭线程池executor.shutdown();}} class MyTask implements Runnable {private final int taskId;public MyTask(int taskId) {this.taskId taskId;}SneakyThrowsOverridepublic void run() {Thread.sleep(2000);System.out.println(Task ID : taskId 执行 Thread.currentThread().getName());} } 2 maximumPoolSize最大线程数 线程池中允许的最大线程数量包括核心线程和额外创建的临时线程数量。 在向线程池中提交任务的时假如当前的任务数量超过了corePoolSize核心线程数同时workQueue任务队列也满了那么就会根据需要来创建corePoolSize核心线程数之外的临时线程数但 corePoolSize核心线程数和 临时线程数总数不能超过maximumPoolSize最大线程数。 3 keepAliveTime空闲的线程存活时间 它表示当线程处于空闲状态的时候或没有任务执行时线程可额外存活的时间如果这段额外的时间没有需要处理的任务那么超过这个时间空闲的线程就会被终止并从线程池中移除。例如上面的例子设置的是1分钟超时时间可以自己设置空闲时间超过一分钟线程就会被回收掉。   4 unit时间单位 是用于表示线程池中时间单位的枚举类型提供了一个枚举类 java.util.concurrent.TimeUnit 可以配置枚举类中任意一种例如 TimeUnit.SECONDS 秒TimeUnit.MINUTES 分钟TimeUnit.HOURS 小时TimeUnit.DAYS 天 等配合 keepAliveTime空闲的线程存活时间进行使用。 5 workQueue任务队列 用于存储线程池中待执行任务的阻塞队列通常下线程池中任务数量超过了 corePoolSize核心线程数时那么新提交的任务就会被放至 workQueue任务队列当中例如上面案例设置的任务队列大小为10核心线程数为 5当线程池正在执行的任务超过5的时候就会把新提交的任务暂放至任务队列当中任务队列当中等待的任务最多为10个。 线程池的工作队列当中可以是不同的阻塞队列案例中使用的是 LinkedBlockingQueue常用的阻塞队列有 LinkedBlockingQueue一个基于链表结构的可选有界阻塞队列按照先进先出的顺序进行任务调度。如果不指定容量大小则默认为 Integer.MAX_VALUE。    PriorityBlockingQueue一个基于优先级的无界阻塞队列可以按照自定义的顺序执行任务。    SynchronousQueue一个不存储元素的阻塞队列每个插入操作必须等待另一个线程的移除操作。在这种队列中每个插入操作都会阻塞直到有其他线程来获取数据。    ArrayBlockingQueue一个基于数组结构的有界阻塞队列按照先进先出FIFO的顺序进行任务调度。   6 handler拒绝策略 用来处理线程池中的workQueue任务队列已满、并且线程池中的线程数已达到maximumPoolSize最大线程数时的情况线程池会根据定义的拒绝策略来处理这些任务。 内置的拒绝策略有以下几种 AbortPolicy直接抛出 RejectedExecutionException 异常表示无法接受新任务没有配置拒绝策略默认为该策略。    CallerRunsPolicy将任务回退到调用者所在线程中执行也就是由调用 execute 方法的线程来执行该任务。    CallerRunsPolicy将任务回退到调用者所在线程中执行也就是由调用 execute 方法的线程来执行该任务。    DiscardPolicy直接丢弃无法处理的任务不做任何处理。    DiscardOldestPolicy丢弃添加到工作队列最早的任务并尝试重新提交当前任务。 7 threadFactory创建线程工厂 用来创建线程工厂的类在线程池中需要创建新线程时使用 threadFactory创建线程工厂 进行创建线程对象可以通过自定义 threadFactory创建线程工厂对线程进行个性化配置和定制例如设置线程的名称、优先级等可以更好的跟踪和管理线程池中的线程例如以下案例给线程池中线程进行命名。   public class PoolTest {public static void main(String[] args) {int corePoolSize 5;int maximumPoolSize 10;long keepAliveTime 1;TimeUnit unit TimeUnit.MINUTES;BlockingQueueRunnable workQueue new LinkedBlockingQueue();ThreadFactory threadFactory new MyThreadFactory(); // 自定义的ThreadFactoryThreadPoolExecutor executor new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,workQueue,threadFactory);// csdn 骑电动车的小黄for (int i 0; i 10; i) {// 提交任务到线程池executor.execute(new Runnable() {Overridepublic void run() {// 任务逻辑代码System.out.println(开始执行任务 线程的自定义名称为 Thread.currentThread().getName());}});}// 关闭线程池...executor.shutdown();}} class MyThreadFactory implements ThreadFactory {private static final String THREAD_NAME_PREFIX 这是一个线程自定义名称-;private int counter 1;Overridepublic Thread newThread(Runnable r) {Thread thread new Thread(r);thread.setName(THREAD_NAME_PREFIX counter);thread.setPriority(Thread.NORM_PRIORITY);thread.setDaemon(false);counter;return thread;} }
http://www.pierceye.com/news/782624/

相关文章:

  • wordpress网站好慢页面模板怎么用
  • 网站建设维护是啥意思wordpress 路径
  • 汕头网站建设报价个体工商户注册公司流程和费用
  • 网站开发学的啥36kr源码WordPress
  • 最好的免费网站空间沈阳营销型网站
  • 如何制作一个好网站网络设计报告范例
  • 邯郸做网站最好的公司彩票网站制作
  • 酒店团购的网站建设网站建设的一些原理
  • 做淘宝网站需要什么网站设置快捷键
  • 网站建设合同验收提供网站建设报
  • 湛江市建设规划局网站如何干电商
  • 东莞网站制作很好 乐云践新佛山网站建设解决方案
  • 哪个网站百度收录快海报模板网址
  • 绍兴高兴区建设网站怎么查网站制作空间有效期
  • 有没人做阿里巴巴网站维护的企业网站搭建 网络活动策划
  • 在线手机网站预览网站建设费归入长期待摊费用
  • 怎么制作个人网站企业起名
  • 做鞋子网站的域名如何拥有一个自己的网站
  • 室内设计网站资源加速器网页版
  • 一个网站可以优化多少关键词想做网络推广如何去做
  • 家装公司网站建设方案装饰公司设计用什么软件
  • 做网站与运营一般多少钱桂林象鼻山简介
  • 丰南建设网站知识产权网站模板
  • 海外注册域名的网站给家乡做网站
  • 怎么做带数据库的网站重庆市建设工程信息网络
  • 做网站的越来越少了西宁网站建设多少钱
  • 环翠区网站建设做网站 用 显示器
  • 没学过计算机开始学做网站给别人做网站收多少钱
  • 网站建设的功能都需要有哪些方面大气一点的公司名字
  • 湘潭做网站价格问下磐石网络价格网站