美文网首页
多线程优化--synchronized、Lock等优化

多线程优化--synchronized、Lock等优化

作者: 阔阔飞翔 | 来源:发表于2021-07-09 09:30 被阅读0次

1、synchronized

(1)重量锁,轻量锁,偏向锁(synchronized自带的优化)

(2)锁的粒度

2、Lock锁

Lock锁可灵活控制锁的位置,优化点:将ReentrantLock变成ReentrantReadWriteLock读写锁。ReentrantReadWriteLock中的读锁是并行执行的。

3、一些经验

4、线程池优化策略

1、参数说明

2、执行顺序


3、jdk自带的四种策略

(1)ThreadPoolExecutor.AbortPolicy 丢弃任务,并抛出 RejectedExecutionException 异常。

(2)ThreadPoolExecutor.CallerRunsPolicy:该任务被线程池拒绝,由调用 execute方法的线程执行该任务。

(3)ThreadPoolExecutor.DiscardOldestPolicy : 抛弃队列最前面的任务,然后重新尝试执行任务。

(4)ThreadPoolExecutor.DiscardPolicy,丢弃任务,不过也不抛出异常。

当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize,如果还有任务到来就会采取任务拒绝策略。

4、优化经验

5、并发容器的选择

6、上下文切换优化

1、

2、

相关文章

网友评论

      本文标题:多线程优化--synchronized、Lock等优化

      本文链接:https://www.haomeiwen.com/subject/dmeeultx.html