Releases: ZjzMisaka/PowerThreadPool
Releases · ZjzMisaka/PowerThreadPool
PowerThreadPool
What's Changed
- [*] move thread count check into option setters by @ZjzMisaka in #98
- [+] add tests for thread count change by @ZjzMisaka in #99
- [*] fix alert by @ZjzMisaka in #100
- [*] merge DelegateHelper classes by @ZjzMisaka in #101
- [*] split WorkOption into two files by @ZjzMisaka in #102
- [*] update TargetFramework for github action by @ZjzMisaka in #103
- [*] update documents by @ZjzMisaka in #104
- [+] add Japanese wiki by @ZjzMisaka in #105
- [*] remove the try block from the CheckPoolIdle function by @ZjzMisaka in #106
- [*] avoid infinite loop in testing by @ZjzMisaka in #107
- [*] hold the work when WorkGuard.Freeze anyway by @ZjzMisaka in #109
- [*] put back the null check of the Worker after using WorkGuard by @ZjzMisaka in #110
- [+] add sugars for QueueWorkItem by @ZjzMisaka in #111
- [+] try assign work for new worker by @ZjzMisaka in #112
- [*] enable work stealing even with a single waiting work by @ZjzMisaka in #113
- [*] check before traversing _reversed by @ZjzMisaka in #114
- [*] new _reversed in constructor by @ZjzMisaka in #115
- [*] split the functions by @ZjzMisaka in #116
Full Changelog: v4.14.2...v4.15.0
PowerThreadPool
What's Changed
- [*] should check worker count outofrange before get work from queue by @ZjzMisaka in #95
- [+] support queue work when stopping by @ZjzMisaka in #96
- [+] support queue work when stopping and cancel the work by @ZjzMisaka in #97
Full Changelog: v4.14.1...v4.14.2
PowerThreadPool
What's Changed
- [*] more flexible thread count scaling by @ZjzMisaka in #82
- [*] more flexible thread count scaling by @ZjzMisaka in #83
- [*] complete resources that need to be released during Dispose() by @ZjzMisaka in #84
- [*] Call dispose when worker kill itself by @ZjzMisaka in #85
- [*] fix TryDisposeSelf not from killTimer by @ZjzMisaka in #86
- [*] add test log by @ZjzMisaka in #87
- [-] remove parameter "console;verbosity=detailed;" by @ZjzMisaka in #88
- [*] remove disposing parameter of Dispose() by @ZjzMisaka in #89
- [+] CanDeleteRedundantWorker by @ZjzMisaka in #90
- [*] add dispose and force stop flag for worker by @ZjzMisaka in #91
- [*] move worker.Kill into worker Dispose by @ZjzMisaka in #92
- [*] move worker.Kill into worker Dispose by @ZjzMisaka in #93
- [+] work dispose by @ZjzMisaka in #94
Full Changelog: v4.14.0...v4.14.1
PowerThreadPool
What's Changed
- [+] target net9 by @ZjzMisaka in #73
- [*] use the class-level _powerPool field by @ZjzMisaka in #74
- [*] use ObjectDisposedException.ThrowIf when NET8_0_OR_GREATER by @ZjzMisaka in #75
- [*] clearly define read-only restrictions for fields and properties by @ZjzMisaka in #76
- [*] Refactor by @ZjzMisaka in #77
- [*] the newly added DestroyThreadOption is enabled only for newly created workers by @ZjzMisaka in #78
- [*] refactor InterlockedFlag to use Unsafe.As instead of Enum.ToObject by @ZjzMisaka in #79
- [*] specify the .NET 9.0 SDK version for GitHub Action by @ZjzMisaka in #80
- [*] specify the .NET 9.0 SDK version for GitHub Action by @ZjzMisaka in #81
Full Changelog: v4.13.0...v4.14.0
PowerThreadPool
What's Changed
- [+] allow StopIfRequested callback return nothing by @ZjzMisaka in #70
- [*] refactor InterlockedFlag to use int instead of long for better performance and memory optimization by @ZjzMisaka in #71
- [*] dependent works are not executed when the preceding work is cancelled by @ZjzMisaka in #72
Full Changelog: v4.12.1...v4.13.0
PowerThreadPool
What's Changed
- [*] Refactor CheckIfRequestedStopAndGetWork to clarify return value semantics by @ZjzMisaka in #67
- [*] fix conditional compilation by @ZjzMisaka in #68
- [*] fix set result to wrong work when cancel by @ZjzMisaka in #69
Full Changelog: v4.12.0...v4.12.1
PowerThreadPool
What's Changed
- [*] ToTypedResult: Attempt type conversion before creating a new instance by @ZjzMisaka in #64
- [*] exit WorkGuard if work is done by @ZjzMisaka in #65
- [+] Add optional pre-stop action parameter to StopIfRequested method by @ZjzMisaka in #66
Full Changelog: v4.11.1...v4.12.0
PowerThreadPool
What's Changed
- [*] Avoid unnecessary spin-wait by using Thread.Join() instead of _workerLoopEnded by @ZjzMisaka in #61
Full Changelog: v4.11.0...v4.11.1
PowerThreadPool
What's Changed
- [*] wording correction by @ZjzMisaka in #54
[+] Parallel.Where by @ZjzMisaka in #55[-] revert changes by @ZjzMisaka in #56- [*] fix: unable to fetch results by group by @ZjzMisaka in #57
- [+] fetch by predicate by @ZjzMisaka in #58
- [*] reuse duplicate code by @ZjzMisaka in #59
- [*] should not queue the work when dependency fails by @ZjzMisaka in #60
Full Changelog: v4.10.0...v4.11.0
PowerThreadPool
What's Changed
- [+] add event for status when pool is running by @ZjzMisaka in #46
- [*] fix: PoolRuntimeDuration may return negative number in some case by @ZjzMisaka in #47
- [*] ensure PoolRuntimeDuration is never negative by @ZjzMisaka in #48
- [+] running timer by @ZjzMisaka in #49
- [*] stop running timer when RunningTimerOption is null by @ZjzMisaka in #50
- [+] add RuntimeDuration to the EventArgs of the event by @ZjzMisaka in #52
- [*] add a default value for Interval by @ZjzMisaka in #53
Full Changelog: v4.9.1...v4.10.0