Skip to content
Development
Skill

/java-concurrency

Implement modern concurrency with Virtual Threads and Structured Concurrency in Java. Use when implementing Java Virtual Threads (Java 21), Structured Concurrency with StructuredTaskScope, CompletableFuture pipelines, or debugging race conditions.

From plugin
agent-skills-standard
538200 skills1 MCP
Install
$ npx -y skills add hoangnguyen0403/agent-skills-standard --skill java-concurrency --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/java-concurrency

Context preview

The summary Claude sees to decide when to auto-load this skill.

Implement modern concurrency with Virtual Threads and Structured Concurrency in Java. Use when implementing Java Virtual Threads (Java 21), Structured Concurrency with StructuredTaskScope, CompletableFuture pipelines, or debugging race conditions.

SKILL.md

java-concurrency.SKILL.md
name: java-concurrency
description: Implement modern concurrency with Virtual Threads and Structured Concurrency in Java. Use when implementing Java Virtual Threads (Java 21), Structured Concurrency with StructuredTaskScope, CompletableFuture pipelines, or debugging race conditions.
metadata:
  triggers:
    files:
    - '**/*.java'
    keywords:
    - Thread
    - Executor
    - synchronized
    - lock
    - CompletableFuture
    - StructuredTaskScope
    - VirtualThread
    - AtomicInteger
    - async
    - race condition

Java Concurrency

**Priority: P1 (HIGH)**

Implementation Guidelines

  • **Virtual Threads (Java 21)**: Use for high-throughput I/O. `Executors.newVirtualThreadPerTaskExecutor()`.
  • **Structured Concurrency**: Use `StructuredTaskScope` to treat related tasks as 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`, `LongAdder` for simple counters.
  • **Locks**: Prefer `ReentrantLock` / `ReadWriteLock` over `synchronized` for fine-grained control.
  • **Thread Safety**: Document `@ThreadSafe` or `@NotThreadSafe`.

Anti-Patterns

  • **No new Thread()**: Use Executors or virtual threads; never create threads manually.
  • **No Pooling Virtual Threads**: Virtual threads 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

  • [StructuredTaskScope & VirtualThread Examples](references/structured-concurrency.md)
Read more
Ships withagent-skills-standard

The portable SDLC standards layer for AI coding agents. Sync once, then work in your own runtime.

Get the whole plugin

Other skills on agent-skills-standard.