多线程并发
2020-11-10 18:37:56 0 举报
AI智能生成
多线程并发
作者其他创作
大纲/内容
线程池
使用场景
最佳资源利用
吞吐量
过度切换
任务短数量多
注意事项
考虑和避免线程并发问题
考虑工作线程超时处理问题
考虑队列大小
考虑线程池大小
考虑cpu核数
考虑是否对要执行的任务分类<br>
考虑线程所操作的资源
基础
摩尔定律
线程
起源
优势
内存
模型
实现
安全
硬件
多处理器时代
对称多处理器
非对称多处理器
非同一内存访问
共享内存
内存栅栏
cpu缓存
缓存一致性
MESI 协议<br>
互斥
阻塞同步
临界区
一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性
锁
锁的类型
公平锁/非公平锁<br>
可重入锁
独享锁/共享锁
互斥锁/读写锁<br>
乐观锁/悲观锁
分段锁
偏向锁/轻量级锁/重量级锁
自旋锁
数据库锁
锁的级别
锁的粒度
加锁的方式
操作方式
使用方式
问题
活锁
死锁
优先级倒置
饥饿
非阻塞同步
wait-free算法
lock-free 算法
obstruction-free 算法
可重入
监视器
等待信号
条件变量
信号灯
双检查锁
模型
一致性模型
原子一致性
连续一致性
因果一致性
内存模型
可见性
原子性
顺序性
java线程实现
线程基础
同步原语
synchronized关键字
volatile关键字
cas操作
内存模型
可见性(viability)<br>
原子性(Atomicity)
顺序性(Order)
Happens-Before
as-if- serial语义<br>
final域
线程
状态(state)
线程启动 Thread.start() <br>
弃用 Thread.stop() ,Thread.suspend()和Thread.resume()方法<br>
Thread.join()方法
Object.wati()/notify()方法
Thread.sleep()方法
ThreadLocal<br>
并发框架
同步
核心 AQS
重入锁 ReentrantLock
公平锁
非公平锁
可重入读写锁 ReentrantReadWriteLock
条件变量 Condition
新通知/信号机制 LockSupport<br>
限制
CountDownLatch
CyclicBarrier
Semaphore
Phaser
原子操作
Atomic 类
Unsafe 类
线程安全集合
CopyOnWriteArrayList和CopyOnWriterArraySet
ConcurrentSkipListMap和ConcurrentSkipListSet
ConcurrentHashMap
LinkedBlockingQueue 和 ArrayBlockingQueue<br>
PriorityBlockingQueue
LinkedTransferQueue
线程池
Executor
ThreadPoolExecutor
FixedThreadPool
SingleThreadExecutor
CachedThreadPool
Callable 和 Future
ScheduledExecutorService
ScheduledThreadPoolExecutor
Executors
并发执行任务框架
ForkJoinTask
ForkJoinPool
线程通信
Exchanger
JVM并发实现
线程(Thread)实现
监视器(Monitor)实现
可见性
原子性
顺序性
其他
0 条评论
下一页