随笔分类 - Java并发编程
摘要:## 从单例模式引出 [单例模式](https://www.cnblogs.com/optimjie/p/17643187.html)一文中,DCL实现单例使用了关键了volatile: ```java class Singleton5 { private Singleton5() { System
阅读全文
摘要:Java线程创建和销毁的开销 中提到了Java线程创建和销毁的开销,因此我们可以使用“池”化的思想,每一次有新的任务需要处理时,直接从线程池中拿出来一个空闲的线程去执行,这样减少了创建线程的开销,同时在任务处理完成后将线程归还给线程池,给下一个任务使用,也减少了销毁的开销。 池化思想在我们开发中非常
阅读全文
摘要:虽然标题为synchronized vs CAS,但从大的范围来说其实是:悲观锁 vs 乐观锁,本文使用synchronized和CAS来进行介绍,并对比。 首先锁的出现是为了,保证同一时间内,只有一个线程进入临界区。 ## 什么是悲观锁和乐观锁? 悲观锁:对于同一个数据的并发操作,悲观锁认为自己在
阅读全文
摘要:## 几个JUC里面的类 这里不做详细介绍,只是说明一下类的作用 ### ReentrantLock 是一种锁机制,实现多个线程在临界区中的同步访问。也就是说实现了:同一时间只有一个线程能进入临界区,其他线程需要等待。 **如果自己实现ReentrantLock的话,需要考虑哪些点?** 1. 通过
阅读全文