Runnable demos for the ankurm.com structured-concurrency-java article: the ExecutorService thread leak and its fix, every built-in Joiner, structure violations, timeouts, a custom Joiner, JSON thread dumps (in-process and jcmd), scoped values, javap diffs of the API on 25, 26, 27 and 28-ea, compiler output for six pieces of 25/26-era code, and the preview class-file trap between 27 and 28. Transcripts in output/. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01CifR2BE7PBvRy5hT8TS9oz
24 lines
818 B
Plaintext
24 lines
818 B
Plaintext
$ jcmd <pid> Thread.dump_to_file -format=json threads.json (28-beta+21-ea)
|
|
<pid>:
|
|
Created <tmp>/threads.json
|
|
|
|
# the scope "orders" and its child scope in threads.json (stack frames, timestamps and ids trimmed or masked)
|
|
"container": "orders\/jdk.internal.misc.ThreadFlock$ThreadContainerImpl@<hash>",
|
|
"parent": "<root>",
|
|
"owner": <n>,
|
|
"tid": <n>,
|
|
"virtual": true,
|
|
"state": "TIMED_WAITING",
|
|
"ThreadDump.lambda$main$1(ThreadDump.java:12)",
|
|
"tid": <n>,
|
|
"virtual": true,
|
|
"state": "WAITING",
|
|
"ThreadDump.lambda$main$2(ThreadDump.java:16)",
|
|
"container": "inventory\/jdk.internal.misc.ThreadFlock$ThreadContainerImpl@<hash>",
|
|
"parent": "orders\/jdk.internal.misc.ThreadFlock$ThreadContainerImpl@<hash>",
|
|
"owner": <n>,
|
|
"tid": <n>,
|
|
"virtual": true,
|
|
"state": "TIMED_WAITING",
|
|
"ThreadDump.lambda$main$4(ThreadDump.java:15)",
|