Comments (3)
I think this is related to the dispatcher strategy choice you make: use blockingQueue/RingBuffer and you behave like an actor - so no race condition. This comes with ThreadPoolDispatcher and we can certainly document it
from reactor.
The Dispatcher
doesn't matter. The race is between the thread(s) driving Reactor.notify
and the thread that's making the registration and then calling cancelAfterUse
. Even if your Reactor
is using a synchronous dispatcher this can still race.
from reactor.
I see what you mean, been mislead by the fact that cancelAfterUse is checked after the task is invoked (so still in the dispatcher), but you call cancelAfterUse after reactor.on() so another thread has a chance to notify it.
from reactor.
Related Issues (20)
- Allow signed releases to Artifactory from GitHub Actions HOT 4
- Remove explicit occurrences of jcenter from build HOT 2
- Release: move tagging step at the end
- Use Spotless plugin to help enforce basic formatting / license HOT 3
- Use Spotless plugin to enforce and update copyright headers HOT 1
- [Reactor Gen4] Discussing switching to a JDK 17 baseline HOT 41
- [Reactor Gen4] Ensuring Reactor 3 can run along Reactor 4 HOT 13
- [Reactor Gen4] The Rationale for a Generation 4 of Reactor HOT 3
- Use Gradle 7.3 HOT 1
- Reproducible Builds
- Remove the Reactive Streams Commons from README.md
- Is there any connection between org.projectreactor:reactor-core and io.projectreactor:reactor-core ? HOT 2
- Incompatible reactor-kotlin-extensions used in 2020.0.x BOM HOT 1
- Add new module reactor-core-micrometer to 2022.0.0-M3 BOM
- No dependency management for `reactor-tools` with classifier `original` HOT 1
- Builds with japicmp should set onlyModified = true / onBinaryIncompatibleModified = false
- Update GHA workflows to avoid warnings around output APIs HOT 1
- Did we have some tools like Java-profilers for perfomance or cost analyzing?
- Consider enabling discussions tab on GitHub
- reactor-tools original classifier should also be part of the BOM HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reactor.