Skip to content
This repository was archived by the owner on Jul 29, 2026. It is now read-only.

Tags: wintoncode/Winton.Extensions.Threading.Actor

Tags

1.10.0

Toggle 1.10.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #42 from wintoncode/update-test-dependencies

Update test dependencies

1.9.0

Toggle 1.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #40 from wintoncode/allow-opt-out-transaction-scop…

…e-wrapping

feat(Winton.Extensions.Threading.Actor): allow opt-out of transaction scope wrapping in enqueue work

1.8.0

Toggle 1.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #39 from wintoncode/fix-version-and-push

Fixed versioning and NuGet push

1.7.0

Toggle 1.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #31 from roederja2/also_wrap_start_work

* Also wrap start/stop work in suppress scope

1.6.0

Toggle 1.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #30 from roederja2/update_nuget_key

Update nuget key

1.5.0

Toggle 1.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Re-use thread pool threads (#27)

This is as opposed to queuing each actor task on the thread pool. This
improves performance in many cases.

1.4.0

Toggle 1.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Improve actor performance via simplication (#26)

Changes related to performance:

- Removed state machine in ActorImpl and merged ActorImpl into Actor;
- Refined ActorTaskScheduler and the way the kind of task being executed is communicated so that using async state is no longer necessary;
- Replaced use of Queue<> in ActorTaskScheduler with something that easily allows putting something at the front, which simplified some logic;
- Made use of pause/resume functionality in ActorTaskScheduler to simplify starting an Actor;
- Made locking in ActorTaskScheduler more fine-grained;
- Used UnsafeQueueUserWorkItem on platforms that support it.

Also:

- Added NET Standard 2.0 support;
- Fixed various long-standing bugs that appeared in edge cases.

Overall, the changes made have reduced locking and complexity, which, apart from anything, has made it easier to track down long-standing spurious test failures and bugs. Performance isn't monumentally better but confidence that things are working correctly has been increased somewhat.

1.3.1

Toggle 1.3.1's commit message
Fix Stop() which lacked a ConfigureAwait(). (#17)

1.3.0

Toggle 1.3.0's commit message
Added a "stopped task" to IActor (#15)

* Project updates
* Added StoppedTask to IActor

1.2.0

Toggle 1.2.0's commit message
Merge pull request #13 from jhickson/fixpauseandresume

Fixed naive approach to pause/resume