线程池构造方法不能控制任务的超时时间,

java.util.concurrent.ThreadPoolExecutor#ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue)

long, java.util.concurrent.TimeUnit设置的是超过core数量的线程在没有任务时最大的idleTime

但是执行任务时可以使用Future类来控制超时时间

AbstractExecutorService中invokeAll,invokeAny可以指定超时时间 (没有完成的task会被cancel,并抛出interrupted异常), 但其本质还是使用Future.cancle()/get(long timeout, TimeUnit unit)

这里不是对单个task的超时控制

另起一个SchedulerThread监控FutureTask是否超时,@Hystrix的超时原理

http://westyi.iteye.com/blog/714935

cancle不一定成功,无法判端里面的事务是否真的失败, 只是在确定超时后 返回了一个备用对象

Executors 返回的线程池对象的弊端如下:

1)FixedThreadPool 和 SingleThreadPool: 允许的请求队列长度为 Integer.MAX_VALUE,可能会堆积大量的请求,从而导致 OOM。

2)CachedThreadPool 和 ScheduledThreadPool: 允许的创建线程数量为 Integer.MAX_VALUE,可能会创建大量的线程,从而导致 OOM。

线程Thread

线程工厂 ThreadFactory

线程池  正确的概念是指ThreadPoolExecutor,  注意父类AbstractExecutorService, ExecutorService中超时方法的使用

java 线程池超时_线程池中如何控制超时时间?相关推荐

  1. java console不见了_解决eclipse中console控制选项不见了的方法

    eclipse是一款用于编译java语言的程序,利用这款软件我们可以制作很多有趣的小程序,也可以制作一些大型的软件项目.在实际的操作中,eclipse是由多个工具栏组成的,其中console就是用于查 ...

  2. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

    [http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...

  3. java executors 详解_线程池—Executors 详解

    各位志同道合的朋友们大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,一起将技术学深学透,我会每一篇分享结束都会预告下一专题 线 ...

  4. java executors 详解_线程池Executors详解

    为什么要用线程池呢? 一是减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务; 二是可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累 ...

  5. java线程池大小_线程池大小设置多少合适?java如何合理设置线程池大小?

    在连接数据库时我们经常会用到线程池,而有时候我们就会烦恼,线程池的大小究竟该设置成多大才合适呢?小伙伴们知道要如何合理设置线程池大小吗?下面跟小编一起来看看吧. 一般来说,我们线程池究竟设置多大是基于 ...

  6. 易语言mysql线程池数量_线程池最佳线程数量到底要如何配置?

    前言 对应从事后端开发的同学来说,线程是必须要使用了,因为使用它可以提升系统的性能.但是,创建线程和销毁线程都是比较耗时的操作,频繁的创建和销毁线程会浪费很多CPU的资源.此外,如果每个任务都创建一个 ...

  7. threadpooltaskexecutor线程池使用_线程池的理解及使用

    1.为什么要使用线程池 线程池由任务队列和工作线程组成,它可以重用线程来避免线程创建的开销,在任务过多时通过排队避免创建过多线程来减少系统资源消耗和竞争,确保任务有序完成: 线程池的好处: 1,因为线 ...

  8. java 信号量 互斥锁_线程同步(互斥锁与信号量的作用与区别)

    "信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里).而互斥锁是用在多线程多任务互斥的,一 ...

  9. java同步锁售票_线程同步锁之火车站售票案例

    前言: 谈到多线程,就不得不说线程同步,那么什么是线程同步? 线程同步 即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作 ...

最新文章

  1. 性能测试知多少---并发用户
  2. matlab已知散点图求方程,已知空间离散点,想求出曲面方程,怎么办?
  3. 怎么求导来着?别费劲了,试试这个Python的通用求导法
  4. 5.6 稳健最小二乘法
  5. BZOJ 2301 - Problem b(莫比乌斯反演+容斥)
  6. SilverLight学习笔记--进一步学习Isolated Storage独立存储一(理论篇)
  7. FFmpeg下载编译好的WINDOWS库头文件
  8. 中基协会长洪磊:尽快制定大类资产配置管理办法 推非保本理财转型
  9. es文件搜索不到win7服务器,ES文件浏览器Win7局域网共享错误解决方案
  10. EI的检索方法快速检索(Quick Search)
  11. 4家运营商、17家通信企业这样回应5G牌照发放
  12. 6款CSS特效边框样式
  13. ubuntu16.04 安装hustoj 最新【亲测,附带常见问题解决】
  14. pytorch神经网络对Excel数据集进行处理2.0(读取,转为tensor格式,归一化),并且以鸢尾花(iris)数据集为例,实现BP神经网络
  15. 如果把一张大图分开matlab,如何把一张大图分开在几张A4纸上打印出来
  16. win10计算机本地连接属性在哪里,Win10系统怎么打开本地连接属性
  17. Redux详解,有这一篇就够了
  18. 以太坊 权益证明(五)
  19. 10年大数据平台经验,总结出这份数据建设干货(内含多张架构图)
  20. Python 生成 QR 二维码

热门文章

  1. https是怎么进行证书验证
  2. 实战:k8s中网络策略实验(成功测试-博客输出)-20211005
  3. char类型与varchar类型的区别
  4. [GBase 8s 教程]GBase 8s 事务(TRANSACTION)
  5. net: mpls 是什么
  6. WordPress数据库连接错误解决方案!
  7. 周末整理了一下计算机经典必看好书,并送出6本书
  8. Golang 基础二
  9. 十种进程注入技术介绍:常见注入技术及趋势调查
  10. python中序列和列表区别细菌真菌病毒_生物信息中的Python 02 | 用biopython解析序列...