达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心 达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心
达内新闻
 当前位置:主页 > 达内新闻 >

运城java培训常见的线程池类型分享

时间:2019-05-09  来源:未知  作者:广州达内培训

线程池可以说是java编程开发中使用非常多的一种编程开发组件了,而今天我们就一起来了解一下,这些组件框架都有哪些常见类型。希望通过对本文的阅读,大家在学习运城达内java培训课程的时候会更加容易。

运城java培训常见的线程池类型分享

Java中的线程池是运用场景多的并发框架,几乎所有需要异步或并发执行任务的程序

都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。

降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。

提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。但是,要做到合理利用线程池,必须对其实现原理了如指掌。

Java中常用的线程池都是ThreadPoolExecutor不同的配置产生的以符合不同的场景.所以理解ThreadPoolExecutor至关重要.

Java的常用线程池

FixedThreadPoolExecutor

FixedThreadPool被称为可重用固定线程数的线程池。

FixedThreadPoolExecutor是一种线程数量固定的线程池,当线程处于空闲状态时,它们并不会被回收,除非线程池被关闭了.当所有的线程都处于活动状态时,新任务都会处于等待状态,直到有线程空闲出来.由于FixedThreadPool只有核心线程并且这些核心线程不会被回收,这意味着它能够更加快速的响应外界的请求.

SingleThreadExecutor详解

SingleThreadExecutor是使用单个worker线程的Executor.

SingleThreadPool内部只有一个核心线程,它确保所有的任务都在同一个线程中按顺序执行.

CachedThreadPool

CachedThreadPool是一个会根据需要创建新线程的线程池。

CachedThreadPool是一种线程数量不定的线程池,它只有非核心线程,并且其大线程数Integer.MAX_VALUE是一个很大的数,实际上就相当于大线程数可以任意大.当线程池中的线程都处于活动状态时,线程池会创建新的线程来处理新任务,否则就会利用空闲的线程来处理新任务.线程池中的空闲线程都有超时机制,60秒,超过60秒的的闲置线程就会被回收.

CachedThreadPoll比较适合执行大量的耗时较少的任务

ScheduledThreadPoolExecutor

ScheduledThreadPoolExecutor继承自ThreadPoolExecutor。它的核心线程数量是固定的,而非核心线程数是没有限制的,并且当非核心线程闲置时会被立即回收.它主要用来在给定的延迟之后运行任务,或者定期执行任务。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。




上一篇:http协议工作原理和常见请求方法
下一篇:没有了

友情链接:
  • Android Q Beta 3推出全新系统黑暗主题,实时字幕等
  • WordPress 5.2 “Jaco”发布
  • Sailfish OS “Hossa”从旧eglibc 2.19升级,但仍依赖于GCC 4
  • GeForce GTX 1650支持向418.74更新移植到稳定的Linux驱动程序
  • Android Q的ANGLE在Vulkan上提供OpenGL ES
  • .NET 5 将于2020年问世
  • Mesa 19.1已被分支,Mesa 19.2正在开发中
  • FBI查获暗网索引和新闻网站Deep Dot Web
  • LibreOffice 6.1于5月29日到达生命周期,请升级到LibreOffice 6.
  • Canonical为微软Hyper-V提供优化的Ubuntu 19.04桌面镜像
  • Apple发布iOS 12.3,macOS 10.14.5,tvOS 12.3和watchOS 5.2.1的
  • KDE Plasma 5.15桌面寿命终结,KDE Plasma 5.16于6月11日发布 -
  • Red Hat Enterprise Linux 8.0(RHEL8)正式发布了
  • Ant Design 3.17.0 发布,企业级UI设计语言
  • 音乐播放器 Qmmp 1.3.2 发布,修复Wayland会话问题
  • Ubuntu 14.04(Trusty Tahr)达到生命终点,现在升级到Ubuntu 18
  • JupyterHub 1.0 发布,命名服务器与TLS加密支持
  • Linux Kernel 5.1 正式发布,大量新功能
  • Linux Mint 17达到了生命终结,用户需要升级到Linux Mint 18或19
  • RStudio 1.2发布,改进对Python chunks,R脚本等的测试和支持
  • Firefox 66.0.4 发布,解决由于证书过期而导致的插件损坏问题
  • 印度将于5月成立国防网络局
  • macOS版本的Microsoft Edge 浏览器下载地址泄露
  • 微软宣布推出“Windows Terminal”,受Linux风格启发终端
  • Btrfs在Linux 5.2内核中获得一些有用的修复/改进
  • Unigine 2.8 发布,更好的植被与异步数据流
  • Linux Kernel 5.1 应该会在今天发布,更快的zRAM
  • Linux版的Microsoft Edge浏览器可能在工作中
  • GNU Linux-Libre 5.1 内核正式发布,基于Linux kernel 5.1系列
  • 微软宣布推出Windows Subsystem for Linux 2(WSL 2)
  • Ubuntu Linux现在支持微软的第二代Windows Linux子系统(WSL 2 )
  • Visual Studio Code添加Java 12支持,Java代码操作和语言功能
  • 微软为Windows 10带来原生Linux内核,将成为WSL 2的一部分
  • Ubuntu 19.10代号为“Eoan Ermine”,将于10月17日发布
  • 2019年GitHub上最受欢迎的7种编程语言
  • Brackets 1.14 发布,LSP支持(Ubuntu下安装方法)
  • 适用于Linux的最佳Photoshop替代品 - GIMP,Krita,Darktable,d
  • Linux 5.2应该可以解决许多AMD Ryzen笔记本电脑触摸屏/触摸板无
  • 谈判失败:Oracle 杀死 Java EE
  • 寒武纪“思元270”曝光,AI性能直追Nvidia
  • DXVK 1.1.1 发布,解决召回的DXVK 1.1问题
  • 全球首款人工智能触觉芯片问世 它能带来什么惊喜呢?
  • 工信部批复同意成都建国家“芯火”双创基地
  • 7nm二代霄龙新品面世,AMD市场份额将超10%
  • 手机CPU“核战”结束了吗?
  • 大乐透走试图
  • 体彩排列3助赢软件
  • 世界杯盘口
  • 专业玩彩网
  • 金沙扑克
  • 电子游戏机
  • 宝来棋牌
  • 体彩竞彩