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

宝山宜昌网站建设如何做电影网站才不侵权

宝山宜昌网站建设,如何做电影网站才不侵权,深圳积分商城网站制作,大学网站建设考核办法目录 一、为什么使用线程池 二、标准库中的线程池 三、线程池的简单代码实现 四、标准库中线程池的构造方法解读 五、拒绝策略 一、为什么使用线程池 如果有多个线程#xff0c;一个一个的去创建则需要从就绪状态被调度到运行状态不断切换然后死亡#xff0c;这样的情况…目录 一、为什么使用线程池 二、标准库中的线程池 三、线程池的简单代码实现 四、标准库中线程池的构造方法解读 五、拒绝策略 一、为什么使用线程池 如果有多个线程一个一个的去创建则需要从就绪状态被调度到运行状态不断切换然后死亡这样的情况成本比较高。所以频繁的开启或停止线程线程需要重新被CPU调度到运行状态需要发生CPU的上下文切换效率比较低。而线程池是复用机制它会提前创建好一些固定的进入运行状态的线程从而减少就绪状态到运行状态的切换 二、标准库中的线程池 public static void main(String[] args) throws InterruptedException {// 1. 创建线程池ExecutorService pool Executors.newCachedThreadPool();// 2. 提交任务pool.submit(new Runnable() {Overridepublic void run() {System.out.println(线程1); }});} 三、线程池的简单代码实现 一个线程池可以同时提交n个任务在线程池中会有m个线程去执行这n个任务我们可以基于生产者消费者模型来实现线程池首先我们需要一个阻塞队列来存储提交的任务然后在构造方法中创建出m个线程去执行这些任务 class Pool {// 1. 创建阻塞队列private BlockingQueueRunnable queue new ArrayBlockingQueueRunnable(10);// 2. 提交任务public void submit(Runnable task) throws InterruptedException {queue.put(task);}// 3. 构造方法中创建出线程public Pool (int m) {for (int i 0; i m; i) {Thread t new Thread() {Overridepublic void run() {while (true) {try {queue.take().run();} catch (InterruptedException e) {e.printStackTrace();}}}};t.start();}} } 四、标准库中线程池的构造方法解读 我们先来看一下线程池的核心构造方法 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueueRunnable workQueue,RejectedExecutionHandler handler) {this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,Executors.defaultThreadFactory(), handler); } 其中第一次个参数corePoolSize表示线程池里核心线程数的个数第二个参数表示线程池中最大线程数既然有了核心线程数那么为什么会有最大线程数呢举个例子一个公司在任务不多的情况下可能只需要核心的员工就够了但是忽然有一天任务忽然增多原有的核心员工不够了这个时候就会招聘对应数量的实习生来执行这些任务最大线程数就是核心线程数加上临时的线程数那接下来的两个参数也是针对这些“实习生”的他表示当任务不紧急的多久时间后销毁这些线程第五个参数也就是workQueue在上面线程池的实现中我们了解了在线程池中有一个专门存储任务的任务队列这个参数也是一个任务队列在创建线程池的时候你可以选择传入一个自己的任务队列也可以选择不传入就好比大一新生开学你可以选择学校提供的被褥也可以选择自带被褥关于最后一个参数handler他是用于选择线程池使用哪一个拒绝策略的会在下面提到 五、拒绝策略 什么是线程池的拒绝策略呢当线程池中的任务队列已经满了时再有新的任务提交进来时线程池会根据不同的拒绝策略采取不同的措施》》》 ThreadPoolExcutor.AbortPolicy直接抛出异常之前的任务也会停止ThreadPoolExcutor.CallerRunsPolicy将任务交给调用者去执行如果调用者执行不了该任务会被丢弃ThreadPoolExcutor.DiscardoldestPolicy将最老的任务丢弃来执行新的任务执行完成后再去执行老的任务ThreadPoolExcutor.DiscarPolicy先继续执行之前的任务后续再去执行新提交的任务
http://wiki.neutronadmin.com/news/177910/

相关文章:

  • 最好的开发网站有哪些外贸网站建设哪里做得好
  • 网站案例分析简述it外包的作用
  • 邹城市建设银行网站郴州网红打卡地有哪些
  • 网站开发用什么写得比较好企业网站制作规划
  • 织梦dede网站后台被挂黑链怎么办北京市在建工程项目查询
  • 找做网站免费网站建设解决方案
  • 网站seo入门基础教程书籍wordpress把所有东西导出
  • 成都网站建设外包业务这是我做的网站吗
  • so域名网站大的网站建设公司
  • 315网站专题怎么做互联网站从事登载新闻业务管理暂行规定
  • mysql同一数据库放多少个网站表微网站用什么做的
  • 需要个网站淮南城乡建设局网站
  • 福州百度做网站多少钱做教育业网站
  • 企业网站开发信息html自动播放视频
  • asp网站如何打开受欢迎的邢台做网站
  • 国内 上市网站建设公司排名合肥做拼拼团网站的公司
  • 网站魔板大全昆明做凡科网站
  • 分类网站怎么做项目外贸网站模板免费
  • 曼朗策划网站建设商场设计费
  • 百度网站推广一年多少钱自己开发软件大概需要多少钱
  • 广州网站建设市场西宁网站建设公司排行
  • seo是什么品牌seo快速排名服务
  • 广州微信网站开发公司企业网站搭建新感觉建站
  • 池州市建设工程质量安全监督局网站自家电脑做网站服务器w7花生壳
  • 做淘宝客需要网站吗杭州网站建设响应式
  • 护肤品 网站建设策划书合肥广告牌制作公司
  • 广州骏域网站建设专家电子商务公司属于什么行业
  • 欧美色影网站经典logo设计案例分析
  • 速升网站网站设计需要学什么软件
  • php违章网站开发购物网站开发需求分析