并发与多线程

分类:Java 核心 · 更新于 2026-09

并发能提升吞吐,但也带来线程安全难题。核心是把"共享可变状态"管理好。

一、线程与状态

线程有新建、就绪、运行、阻塞、终止等状态。创建线程可用 Runnable/Callable,生产环境优先用线程池而非手动 new。

二、锁机制

  • synchronized:JVM 内置锁,可锁方法或代码块,升级为轻量/重量锁。
  • ReentrantLock:API 级锁,支持公平锁、可中断、多条件变量。
  • volatile:保证可见性与有序性(禁止指令重排),但不保证原子性。

三、线程池

ThreadPoolExecutor 七大参数决定行为:核心/最大线程数、队列、拒绝策略等。合理设置能避免资源耗尽与任务堆积。

并发三原则:尽量无共享(栈封闭)、不可变对象、必须共享时用正确同步。能用并发容器(ConcurrentHashMap 等)就别自己加锁。

← 返回首页