Java 并发编程实验室

JavaConcurrencyLab

Java 并发编程实验室。通过竞态条件演示、volatile 可见性、死锁检测、ReentrantLock 和 CAS 原子操作,掌握线程安全核心技能。

Java 并发: 0 / 5

挑战 1: 竞态条件

观察多个线程同时修改共享变量时的数据竞争问题

竞态条件演示

共享计数器
0
期望值: 1000
线程状态

💡 Java 并发编程核心概念

Java 并发编程的核心挑战是保证线程安全:多个线程同时访问共享数据时程序行为正确。 解决方案从粗到细:synchronized(互斥锁)→ ReentrantLock(灵活锁)→ 原子变量(无锁 CAS)→ 并发集合(分段锁/CAS)。

线程安全工具
• synchronized / ReentrantLock
• volatile(可见性)
• AtomicInteger / AtomicReference
• ConcurrentHashMap
同步工具类
• CountDownLatch(等待完成)
• Semaphore(限流)
• CyclicBarrier(多点同步)
• Exchanger(数据交换)

使用说明

  • •调整参数观察行为变化,实时反馈
  • •状态自动编码到 URL,可直接分享给他人
  • •支持键盘操作(Tab 切换、方向键调整)