42 lines
825 B
Markdown
42 lines
825 B
Markdown
## 线程创建方式
|
|
|
|
- 继承 [[Thread]] 类
|
|
- 实现 Runnable
|
|
- 通过 ExecutorService 和 Callable\<Class>
|
|
|
|
[[线程池]]工作原理
|
|
|
|
[[锁]]
|
|
|
|
线程[[上下文切换]]
|
|
|
|
[[阻塞队列]]
|
|
|
|
并发关键字
|
|
|
|
[[CountDownLatch]]
|
|
|
|
一个同步工具类, 允许一个或多个线程一直等待其他线程的操作执行完成后再执行相关操作
|
|
|
|
[[CyclicBarrier]]
|
|
|
|
让一组线程等待至某个状态后再全部同时执行
|
|
|
|
[[Semaphore]]
|
|
|
|
信号量, 用于控制同时访问某些资源的线程个数
|
|
|
|
多线程共享数据
|
|
|
|
1. 将数据抽象为一个类, 并将对这个数据的操作封装在类的方法中
|
|
2. 将 Runnable 对象作为一个类的内部类, 将共享数据作为这个类的成员变量
|
|
|
|
[[ConcurrentHashMap]] 并发
|
|
|
|
减小锁的粒度, 使用多个 Segment
|
|
|
|
[[线程调度]]
|
|
|
|
[[CAS]]
|
|
|
|
[[AQS]] |