今天使用多线程的方式写一个程序。非常不幸,碰到了死锁问题,最终发现:单例对象的创建时必须保证是同步的,否则多线程高并发情况下,可能创建出多个对象。并且导致错误。
以前写单例对象时使用的是下面的错误的写法:
于是在多线程高并发的情况下,public static SomeObject getI[……]
今天使用多线程的方式写一个程序。非常不幸,碰到了死锁问题,最终发现:单例对象的创建时必须保证是同步的,否则多线程高并发情况下,可能创建出多个对象。并且导致错误。
以前写单例对象时使用的是下面的错误的写法:
于是在多线程高并发的情况下,public static SomeObject getI[……]