JDK5.0之前就已经有了两种解决线程安全的问题: 同步代码块 同步方法 JDK5.0后新增了一种解决方案: 同步锁 同步的方法虽然能解决线程安全问题,但它带来的坏处就是降低了效率。所以,我们应该尽量减少需要同步的代码块,必不可少的地方才去用同步方法。 我们首先分别用继承Thread以及实现Runnable接口的方法,写出一个含线程安全的程序。 模拟业务:多窗口卖票(使用多线程模拟多个窗口),共有…
在Java中,单例模式分为饿汉式和懒汉式。默认情况下,懒汉式是线程不安全的,懒汉式代码如下: class Singleton { private static Singleton instance = null; private Singleton() { } public static Singleton getInstance () throws InterruptedException { …