摘要:
在JDK1.5发布后,提供了Synchronized的更优解决方案:Lock 和 Condition 我们使用这些新知识,来改进例子:【多线程】--生产者消费者模式--Synchronized版本 改进代码如下: 代码执行结果如下图: 阅读全文
摘要:
在实现生产者消费者模式之前,我们先了解一下线程的5种状态:被创建、运行、冻结、消亡、阻塞,如下图: 在Jdk1.5发布之前,我们实现生产者消费者模式一般使用synchronized + while循环实现。 下面就这一方法,围绕一个小需求,进行代码实现: 代码运行效果如下,实现了一个线程负责生产商品 阅读全文
摘要:
关于单例模式,我们首先会想到其两种实现方式:饿汉式、懒汉式 饿汉式: 懒汉式(一般实现方式): 但是上面的饿汉式单例模式,如果在多线程调用的情况下,第8、9行就容易引发线程安全问题。 为了解决这一问题,我们可以引入双重判断同步代码块解决: 事物总不是完美的,虽然例3解决了懒汉式单例模式的线程安全问题 阅读全文