首页 > Java资讯 > Java基础学习:java多线程编程

Java基础学习:java多线程编程

更新时间:2020-03-25 16:15 浏览28次 来源:动力节点


  当前Java提供的多线程编程中类,主要包括:


  Executor,Executors,ExecutorService,ScheduledExecutorService,AbstractExecutorService等。


  本文简要的对其作用做个介绍,因为每个类和API的应用,都要花时间认真学习和研究,这里只做个导引介绍,暂不做应用详解。


  导引


  系统启动一个新线程的成本是比较高的,因为涉及与操作系统交互。使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短的线程时,更应该考虑使用线程池。线程池在系统启动时即创建大量空闲的线程,程序将一个Runnable对象或Callable对象传给线程池,线程池就会启动一个线程来执行它们的run()或call()方法,当run()或call()方法执行结束后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个Runnable对象的run()或call()方法。


  线程池也可以有效控制系统中并发线程的数量,当系统中包含大量并发线程时,会导致系统性能剧烈下降,甚至导致JVM崩溃,而线程池的最大线程数参数可以控制系统中并发线程数不超过此数。


  Java线程池(JDK5+)


  Java5内建线程池,新增了Executors工厂类来产生线程池,该工厂类包含如下几个静态工厂方法来创建线程池。


  ExecutorServicenewCachedThreadPool()创建一个具有缓冲功能的线程池


  ExecutorServicenewFixedThreadPool(intn)创建一个可重用的,具有固定线程数的线程池


  ExecutorServicenewSingleThreadExecutor()创建一个只有单线程的线程池,与newFixedThreadPool(1)相同


  ScheduledExecutorServicenewScheduledThreadPool(intcorePoolSize)创建一个具有指定线程数的线程池,它可以在指定延迟后执行线程任务。


  ScheduledExecutorServicenewSingleThreadScheduledExecutor()创建只有一个线程数的线程池,它可以在指定延迟后执行线程任务。


  ExecutorService代表尽快执行线程的线程池(只要线程池中有空闲的线程池,就立刻执行线程任务)。


  ScheduledExecutorService代表可在指定延迟后或周期性地执行线程任务的线程池。


Java基础学习:java多线程编程


  以上就是动力节点java培训机构的小编针对“Java基础学习:java多线程编程”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


热门课程推荐

全部班型支持免费试学

动力节点在线报名表(此信息已加密,请放心填写)