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     //创建一个线程池,它可按照需要创建新的线程,但当前边创建的线程可用的时候重用他们

  • 相关阅读:
    启动MySql提示:The server quit without updating PID file(…)失败
    Linux环境安装git
    Linux环境下安装jenkins
    Linux 环境下安装Maven
    阿里云服务器tomcat启动慢解决方案
    Linux环境安装redis
    Linux环境安装nginx
    Paxos算法细节详解(一)--通过现实世界描述算法
    Nginx的配置详解
    Javascript中DOM详解与学习
  • 原文地址:https://www.cnblogs.com/weiliuyby/p/8510690.html
Copyright © 2011-2022 走看看