Skip to content

Latest commit

 

History

History
112 lines (60 loc) · 3.75 KB

CHANGELOG_zh.md

File metadata and controls

112 lines (60 loc) · 3.75 KB

中文迭代日志

CHANGELOG|中文迭代日志

Version 1.6.3

2019-12_15

  • 修复: 修复极低概率下ExceedWait在等待队列的大小大于0并且运行中的任务小于等于0的时候可能出现stackoverflow异常的问题
  • 修复: 修复极小概率只有在有新任务进来的时候等待队列才能被消化的问题

Version 1.6.2

2019-08-01

  • 修复: 修复线程数计算不够准确的问题
  • 修复: 修复线程类型由于考虑大小写无法匹配问题

Version 1.6.0

2019-07-29

  • 性能: 优化获取所有线程数的耗时(不再会获取对应的stacktrace)

Version 1.5.3

2018-09-28

修复当worker count等于max-pool-size并且有一个worker-thread正阻塞在等待队列有新的任务并且在队列有新任务了但是cpu时间片没有分配到该阻塞worker-thread的时候,ExceedWait出现Stackoverflow的问题

Version 1.5.2

2017-03-23

新接口

  • 新增 ThreadDebugger#ignoreUnknownCategory: 在进行输出时忽略未通过ThreadDebugger#add主动添加分类的线程变化。

修复

  • 修复: 修复了在错误的时机删除的输出分隔符。
  • 修复: 修复在一些场景下,无法准确的匹配线程名的开头部分。

Version 1.4.0

2016-10-09

新接口

  • 新增 ThreadPools#newNoCorePool: 如果有threadCount个数的任务正在运行,再增加进来的任务将会进入等待队列中直到有线程空闲出来。如果空闲线程空闲的时间大于keepAliveTime,那么它将会被回收。

性能与提高

  • 提高稳定性: 如果在调用ThreadPools.newExceedWaitPool时,所提供的corePoolSize等于0,那么我们会创建NoCorePool而非ExceedWaitPool,以此避免在高并发调度ExceedWaitPool的时候小概率出现StackOverflow的异常,因为在ExceedWaitPool中当corePoolSize0并且高频率执行大量任务的时候,getActiveCount()的返回值有可能是0,但是实际的运行中的线程数是大于0的。

Version 1.3.3

2016-09-11

新接口

  • 新增 ExceedWait.java: 暴露exceed-wait-pool的组件,使得它更加易于拓展。

性能与提高

  • 提高实用性: 降低thread-pool库的minSDK版本: 9->7。

修复

  • 修复(thread-pool): 覆盖当仅仅只有exceed-queue中有需要执行的任务的时候,主队列还在等待任务入队或者没有执行中的任务的情况。
  • 修复(thread-pool): 对于exceed-wait-pool,当exceed-queue中存在任务需要执行的时候,错误的还在等待主队列,导致exceed-queue中的队列无法及时的被执行。
  • 修复: ExceedWait.Queue的构造函数是package visible导致无法直接创建的问题。

Version 1.2.1

2016-09-09

性能与提高

  • 提高性能: 使用String#compareToIgnoreCase()代替String#toLowCase()+String#startWith()来减少在IThreadDebugger#refresh()中的耗时。
  • 提高性能: 优化thread-debugger中的代码编写风格来优化其性能。

Version 1.2.0

2016-09-02

新接口

  • 新增 threaddebugger-no-op: 十分轻量,不包含任何threaddebugger的代码, 目前只包含一些空Class, 便于release编译时不带上threaddebugger

Version 1.1.0

2016-09-01

新接口

  • 新增 ThreadDebugger.NEED_PRINT_COST: 用于控制是否需要输出刷新调试器所消耗的时间。
  • 新增 IExecutor#getPrefixName(void):String: 获取当前Executor名称的前缀。

Version 1.0.1

2016-09-01

性能与提高

  • 提高实用性: 修正ThreadPools.java中的Java-doc。

Version 1.0.0

2016-09-01

  • initial release