Java concurrency
Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/java-concurrency
Modern concurrency patterns using Virtual Threads and Structured Concurrency. Use when implementing Java Virtual Threads (Java 21), Structured Concurrency with StructuredTaskScope, CompletableFuture pipelines, or debugging race conditions. (triggers: **/*.java, Thread, Executor, synchronized, lock, CompletableFuture, StructuredTaskScope, VirtualThread, AtomicInteger, async, race condition)From its SKILL.md
npx -y skills add ComeOnOliver/skillshub --skill java-concurrencyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.7 KB, 299 tokens by cl100k_base, as published. Nobody here has run it
Java Concurrency
Priority: P1 (HIGH)
Modern concurrent programming emphasizing Virtual Threads (Loom) and safety.
Implementation Guidelines
- Virtual Threads (Java 21): Use for high-throughput I/O.
Executors.newVirtualThreadPerTaskExecutor(). - Structured Concurrency: Use
StructuredTaskScopeto treat related tasks as a single unit (Scope, Fork, Join). - Immutability: Share immutable data between threads to avoid race conditions.
- CompletableFuture: Use for composing async pipelines (if not using Virtual Threads).
- Atomic Variables: Use
AtomicInteger,LongAdderfor simple counters. - Locks: Prefer
ReentrantLock/ReadWriteLockoversynchronizedfor fine-grained control. - Thread Safety: Document
@ThreadSafeor@NotThreadSafe.
Anti-Patterns
- No new Thread(): Use Executors or virtual threads; never create threads manually.
- No Pooling Virtual Threads: Virtual threads are cheap; never pool them.
- No Blocking in synchronized: Pins carrier thread (Loom pitfall); use ReentrantLock instead.
- No Shared Mutable State: Share only immutable data between threads.
- No Thread.stop/suspend: Deprecated; use interruption or cancellation instead.
References
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.