# 多线程练习demo **Repository Path**: Flyfpf/multi-threaded-practice-demo ## Basic Information - **Project Name**: 多线程练习demo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-22 - **Last Updated**: 2025-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多线程练习demo ## 1. 多线程基础 week0:练习demo week1:写 10 个 Thread/Runnable/Callable Demo | # | 文件名 | 目标 | 验收标准 | | -- | ----------------------------- | ----------------------- | --------------------------------- | | 1 | Demo1\_ThreadExtends.java | 继承 Thread 启动 | 控制台打印线程名 | | 2 | Demo2\_RunnableLambda.java | Runnable + Lambda | 用 lambda 传任务 | | 3 | Demo3\_CallableFuture.java | Callable + Future 拿返回结果 | 返回整数 42 | | 4 | Demo4\_SleepJoin.java | sleep & join 控制顺序 | 线程 A 先睡 1 s,线程 B 等 A 结束再跑 | | 5 | Demo5\_Volatile.java | 证明可见性 | 不加 volatile 死循环,加了立刻结束 | | 6 | Demo6\_Synchronized.java | 同步方法/块 | 两个线程各加 50 万次,结果 100 万 | | 7 | Demo7\_ConcurrentHashMap.java | 并发容器 | 10 线程各 put 1 w 个 key,size == 10 w | | 8 | Demo8\_AtomicInteger.java | 原子类 | 用 AtomicInteger 完成自增,无锁也正确 | | 9 | Demo9\_ThreadLocal.java | ThreadLocal 隔离 | 两个线程分别存值,互不影响 | | 10 | Demo10\_DeadLock.java | 故意制造死锁 | jstack 里能看到 `deadlock` 字样 | ![img.png](img.png)