我是靠谱客的博主 笨笨吐司,最近开发中收集的这篇文章主要介绍executor 和task 优先于线程(68),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

java.util.concurrent 包里有一个Executor 框架

  • 基于接口的任务执行工具
  • 只需要一行代码
    • 73fd53b4be6dc88ef76de51e1114a8a0cb0.jpg
  • 提交一个runnable 方法
    • c425d5309e685c1288d2caf914a56a58c03.jpg
  • 优雅的终止(必须做到,不然虚拟机可能不会退出)
    • 92b0b699b70751477533c92cb11c93c588e.jpg

对于负载不重的服务

  • Executors.newCachedThreadPool 就能满足
    • 不太适合大负载
    • 因为被提交的任务没有排队,而是直接交给线程执行,没有空闲就会new 新的线程

大负载服务器

  • Executors.newFixedThreadPool
    • 包含固定数量线程
    • 最大限度的控制,直接使用ThreadPoolExecutor

请尽量不要使用自己的工作队列、也尽量不要直接使用线程

  • Thread 是执行机制、又是工作单元(任务:task)
  • 现在二者分开,task由Runnable、Callable来充当
    • 执行机制executor service

本质上讲,executor 框架所做的工作是执行,就像Collection 框架做的是 聚集

转载于:https://my.oschina.net/u/3847203/blog/2987610

最后

以上就是笨笨吐司为你收集整理的executor 和task 优先于线程(68)的全部内容,希望文章能够帮你解决executor 和task 优先于线程(68)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部