首页/后端开发/java-concurrency
J

java-concurrency

by @pluginagentmarketplacev1.0.0
0.0(0)

Master Java concurrency - threads, executors, locks, CompletableFuture, virtual threads

Java ConcurrencyMultithreadingThread ManagementParallel ProgrammingGitHub
安装方式
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-concurrency
compare_arrows

Before / After 效果对比

0

description 文档


name: java-concurrency description: Master Java concurrency - threads, executors, locks, CompletableFuture, virtual threads sasmp_version: "1.3.0" version: "3.0.0" bonded_agent: 02-java-advanced bond_type: PRIMARY_BOND allowed-tools: Read, Write, Bash, Glob, Grep

Parameter Validation

parameters: concurrency_model: type: string enum: [threads, executors, virtual_threads, reactive] java_version: type: string default: "21"

Java Concurrency Skill

Master Java concurrency patterns for thread-safe applications.

Overview

This skill covers concurrency from basic threads to virtual threads (Java 21+), including thread pools, synchronization, and CompletableFuture.

When to Use This Skill

Use when you need to:

  • Write thread-safe code
  • Implement parallel processing
  • Use async programming patterns
  • Tune thread pools
  • Debug concurrency issues

Topics Covered

Thread Management

  • Thread lifecycle and states
  • Daemon vs user threads
  • Interrupt handling

Synchronization

  • synchronized, volatile
  • Lock interfaces (ReentrantLock)
  • Atomic operations

Executors

  • ThreadPoolExecutor configuration
  • ForkJoinPool
  • Virtual Threads (Java 21+)

CompletableFuture

  • Async execution
  • Chaining and composition
  • Exception handling

Quick Reference

// Virtual Threads (Java 21+)
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
    IntStream.range(0, 10_000).forEach(i ->
        executor.submit(() -> processRequest(i)));
}

// CompletableFuture composition
CompletableFuture<Result> result = fetchUser(id)
    .thenCompose(user -> fetchOrders(user.id()))
    .thenApply(orders -> processOrders(orders))
    .exceptionally(ex -> handleError(ex))
    .orTimeout(5, TimeUnit.SECONDS);

// Thread pool configuration
ThreadPoolExecutor executor = new ThreadPoolExecutor(
    10, 50, 60L, TimeUnit.SECONDS,
    new ArrayBlockingQueue<>(1000),
    new ThreadPoolExecutor.CallerRunsPolicy()
);

// Lock with timeout
ReentrantLock lock = new ReentrantLock();
if (lock.tryLock(1, TimeUnit.SECONDS)) {
    try {
        // critical section
    } finally {
        lock.unlock();
    }
}

Thread Pool Sizing

| Workload | Formula | Example | |----------|---------|---------| | CPU-bound | cores | 8 threads | | I/O-bound | cores * (1 + wait/compute) | 80 threads |

Troubleshooting

| Problem | Cause | Solution | |---------|-------|----------| | Deadlock | Circular lock | Lock ordering, tryLock | | Race condition | Missing sync | Add locks/atomics | | Thread starvation | Unfair scheduling | Fair locks |

Debug Commands

jstack -l <pid> > threaddump.txt
jcmd <pid> Thread.print

Usage

Skill("java-concurrency")

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月17日
对比案例0 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月17日
最后更新2026年3月17日