Skip to content

Releases: Jacksgong/ThreadDebugger

v1.6.3

15 Dec 06:06
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

Version 1.6.3

2019-12_15

  • Fix: Fix low case for stack overflow when ExceedWait no active and exceed-queue more then one wait job
  • Fix: Fix small case exceed queue can't be consume but wait for new task

v1.5.3

28 Sep 03:37
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

Version 1.5.3

2018-09-28

  • Fix stack overflow on ExceedWait when worker count is meet max-pool-size and one-worker-thread is blocked waiting for queue available and CPU time slice not alloc for blocked thread after queue available.

v1.5.2

23 Mar 12:40
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

New Interfaces

  • Add ThreadDebugger#ignoreUnknownCategory: Only print thread info which you explicitly add through ThreadDebugger#add for method ThreadDebugger#drawUpEachThreadInfo, ThreadDebugger#drawUpEachThreadInfo, ThreadDebugger#drawUpEachThreadSizeDiff, ThreadDebugger#drawUpEachThreadInfoDiff, ThreadDebugger#isChanged, ThreadDebugger#isSizeChanged.

Fixes

  • Fix: fix delete split on the wrong opportunity.
  • Fix: fix can't match start-with-thread-name exactly.

v1.5.0

23 Mar 08:14
Compare
Choose a tag to compare
chore(upgrade): upgrade version name(1.4.0->1.5.0) code(10->11)

v1.4.0

09 Oct 06:25
Compare
Choose a tag to compare

中文

New Interfaces

  • Add ThreadPools#newNoCorePool: If there are threadCount tasks are running, the further task will be enqueued to the waiting queue, and will be executed when the size of running tasks less than threadCount. If the thread in this pool is turn to idle and the interval time of waiting for new tasks more keepAliveTime, it will be terminate to reduce the cost of resources.

Enhancement

  • Improve Stability: If corePoolSize is equal to0 when ThreadPools.newExceedWaitPool is called, then we will createNoCorePool instead of ExceedWaitPool to avoid the small probability of StackOverflow because getActiveCount() may return 0 when corePoolSize is 0 in ExceedWaitPool and performs a large number of tasks at high frequencies, but the actual running thread The number is greater than 0. Ref #1.

v1.3.3

11 Sep 14:42
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

New Interfaces

  • Add ExceedWait.java: Expose components of the exceed-wait-pool to make it more flexible to extend.

Enhancement

  • Improve Practicability: Downgrade the min SDK version of the thread-pool library: 9->7.

Fixes

  • Fix(thread-pool): Cover the case of only the exceed-queue has commands need to execute with the main queue is waiting for a command or there is no active command in the exceed-wait-pool.
  • Fix(thread-pool): For exceed-wait-pool, Mistake still to wait for a command in the main queue when there are commands in the exceed-queue need to execute.
  • Fix: The construct method of ExceedWait.Queue is package visible, result in can't create it directly.

v1.2.1

09 Sep 08:41
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

Enhancement

  • Improve Performance: Using String#compareToIgnoreCase() instead of String#toLowCase() and String#startWith() to reduce cost time in the IThreadDebugger#refresh() method.
  • Improve Performance: Optimize the code style in thread-debugger library to improve the performance.

v1.2.0

02 Sep 00:40
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

New Interfaces

  • Add threaddebugger-no-op: is lighter, it does not have any operation of threaddebugger, only has some empty classes, for don't import threaddebugger when release compile.

v1.1.0

01 Sep 09:12
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

New Interfaces

  • Add ThreadDebugger.NEED_PRINT_COST: Control whether need print how time cost in refreshing debugger.
  • Add IExecutor#getPrefixName(void):String: Get the prefix name of the executor.

v1.0.1

01 Sep 05:21
Compare
Choose a tag to compare

CHANGELOG|中文迭代日志

Enhancement

  • Improve Practicability: Correct the java-doc in ThreadPools.java.