err1/err2/... parameters to e1/e2/... in catch and catch-cpu for consistency.race-stateful; Fixed bug where racing the same task multiple times could incorrectly release the winning result, or
could attempt to release the same losing result multiple times. Now, winning results will not be released, and losing
results will be released exactly once. Introduces a constraint: release will not run on nil due to underlying
constraints. This is OK, nil is not stateful.time (new); measure the time it takes to execute a task. Takes a function that receives the args of finally plus a
Duration that estimates the time it took to run the task.monitor no longer incorrectly breaks cascading cancellation chain.ForkJoinPool instead of a fixed thread pool, since it's reasonable to expect
CPU bound work of variable duration.2 * number-of-cores to number-of-cores. With platform parking throwing by
default, the previous precaution should be unnecessary.CompletableFuture now propagates as task cancellation rather than exception. Previously, cancellations
would propagate as if they were exceptions, causing the Quiescent task to go into exception handling (e.g. catch)
rather than exclusively teardown handling (finally).pathling to 0.1.8scoped to 0.1.14machine-latch to 0.1.12race now cancels the "winner" task if all participants in the race are cancelled.await does not explicitly take a phase to await. It's now equivalent to deref, but returns a boolean rather than
returning a value or throwing an exception.Previously, tasks occasionally held a weak reference to one another to allow for GC to occur even though eg. a parent held a reference (for potential cancellation) to a child.
This is now replaced with a mutual cleanup instead. For task A and B, if A wants to be able to cancel B, it will have a strong reference to B. But if B passes the stage where it can be cancelled, it will remove this subscription from A.
This is also more performant than hanging on to the weak references, and estimated performance numbers have been lowered in accordance.
scoped to 0.1.13Initial release.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |