Add the async module
Every @Async behaviour that surprises people, asserted by a test and captured to docs/output/: the self-invocation trap, what CGLIB cannot override, the IllegalArgumentException a plain return type throws, the unbounded queue that makes max-size decoration, spring.task.execution.propagate-context (new in Boot 4.1.0), the two Executor beans that leave @Async on an unpooled SimpleAsyncTaskExecutor, and JEP 491 measured on JDK 21 against JDK 25.
This commit is contained in:
20
async/docs/output/pinning-probe.txt
Normal file
20
async/docs/output/pinning-probe.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
---------------------------------------------------------------
|
||||
java.version : 21.0.12.1
|
||||
jdk.virtualThreadScheduler.parallelism: 2
|
||||
tasks=32 sleep=300ms
|
||||
|
||||
no monitor held : 313 ms
|
||||
blocked inside synchronized: 4806 ms
|
||||
|
||||
Pinned would be about 4800 ms for the synchronized run (32 tasks / 2 carriers x 300 ms).
|
||||
Not pinned is about 300 ms for both.
|
||||
---------------------------------------------------------------
|
||||
java.version : 25.0.4.1
|
||||
jdk.virtualThreadScheduler.parallelism: 2
|
||||
tasks=32 sleep=300ms
|
||||
|
||||
no monitor held : 312 ms
|
||||
blocked inside synchronized: 301 ms
|
||||
|
||||
Pinned would be about 4800 ms for the synchronized run (32 tasks / 2 carriers x 300 ms).
|
||||
Not pinned is about 300 ms for both.
|
||||
Reference in New Issue
Block a user