zoukankan      html  css  js  c++  java
  • java线程池

      在java线程中我们学习了如何通过实现java.lang.Runnable来定义实现任务类。以及用下边这样的语句来常见一个线程。

      Runnable task = new TaskClass(task);

      new Thread(task).start();

      这样的方法对于单一的任务执行是很方便的,但是由于我们必须对每个人物都创建一个线程当有大量的任务时就不够高效了。

      线程池是管理并发执行任务个数的理想方法。java提供Executor接口来执行线程池中的任务,提供ExecutorService接口来管理和控制任务。ExecutorService是Executor的子接口。

      《interface》 java.util.concurrent.Executor

        +executor(Runnable object):void      //Executor the runnable task

      《interface》 java.util.concurrent.ExecutorService

        +shutdown() :void         //关闭执行器,但允许完成执行器中的任务。一旦关闭,他就不能接受新任务。

        +shutdownNow() :bList<Runnable>  //即使线程中还有未完成的任务也会直接关闭线程

        +isShutdown()  :boolean   //如果线程已经关闭,则返回true

        +isTerminated():boolean  //如果线程池中所有的任务已经终止,返回true

       java.util.concurrent.Executors

        +newFixedThreadPool(numberiofthreads:int):ExecutorService    //创建一个线程池,该线程池可以并发执行的线程数固定。在线程结束当前任务后,可以重用另一个任务

        +newCachedThreadPool():ExecutorService     //创建一个线程池,它可按照需要创建新的线程,但当前边创建的线程可用的时候重用他们

  • 相关阅读:
    DOM对象和jQuery对象的区别
    scrollLeft,scrollWidth,clientWidth,offsetWidth详解
    js数组去重
    变量和作用域的小结
    JS练习题之字符串一
    css实现布局
    将字符串或者数字转化成英文格式输出
    css元素居中实现方法
    不同的函数调用模式
    一个apply的实例
  • 原文地址:https://www.cnblogs.com/weiliuyby/p/8510690.html
Copyright © 2011-2022 走看看