8.线程安全
什么是线程安全? 最大的大白话,你的代码一个线程执行挺好,一上多线程测试就玩儿完(结果不是你所想要的),这就是线程不安全。反之为线程安全。首先,我们把第二章讲单态模式或单例模式(Singleton)的例子再搬过来一次,但这里把一些无关的打印和注释去掉了:
例:1.8.1
class Photoshop {
private Photoshop() {
}
private static Photoshop photoshop = null;// 这个值独立于任何对象存在,实例化任何对象之前,这个成员就有可能有值。
public static Photoshop getInstanceQixy() {
if (photoshop == null) {
photoshop = new Photoshop();
}
return photoshop;
}
}
public class Test {
public static void main(String[] args) {
Photoshop photoshopI1 = Photoshop.getInstanceQixy();
Photoshop photoshopI2 = Photoshop.getInstanceQixy();
System.out.println(photoshopI1+" "+photoshopI2);
}
}
更多请见:http://www.mark-to-win.com/tutorial/java_6_WhatIsThreadSafe.html