zoukankan      html  css  js  c++  java
  • 创建线程池的方式

    Executors

    工具类型。为Executor线程池提供工具方法。可以快速的提供若干种线程池。如:固定容量的,无限容量的,容量为1等各种线程池。

    线程池是一个进程级的重量级资源。默认的生命周期和JVM一致。当开启线程池后,直到JVM关闭为止,是线程池的默认生命周期。如果手工调用shutdown方法,那么线程池执行所有的任务后,自动关闭。

    开始 - 创建线程池。

    结束 - JVM关闭或调用shutdown并处理完所有的任务。

    类似Arrays,Collections等工具类型的功用。

    FixedThreadPool

    容量固定的线程池。活动状态和线程池容量是有上限的线程池。所有的线程池中,都有一个任务队列。使用的是BlockingQueue<Runnable>作为任务的载体。当任务数量大于线程池容量的时候,没有运行的任务保存在任务队列中,当线程有空闲的,自动从队列中取出任务执行。

    使用场景: 大多数情况下,使用的线程池,首选推荐FixedThreadPool。OS系统和硬件是有线程支持上限。不能随意的无限制提供线程池。

    线程池默认的容量上限是Integer.MAX_VALUE。

    常见的线程池容量: PC - 200。 服务器 - 1000~10000

    queued tasks - 任务队列

    completed tasks - 结束任务队列

  • 相关阅读:
    pyspark创建RDD数据、RDD转DataFrame以及保存
    pyspark将DataFrame转成table以及操作sql语句
    pyspark读取textfile形成DataFrame以及查询表的属性信息
    sql-lab闯关之20-22
    sql-lib闯关之lesson17-19
    sql-lab闯关之13-16
    sql-lab闯关之11-12
    sql-lib闯关之lesson8-10
    sql-lab闯关之7
    sql-lib闯关之5-6
  • 原文地址:https://www.cnblogs.com/hwgok/p/10029386.html
Copyright © 2011-2022 走看看