蛋疼的获取静态变量

看到同事写的一个代码,让我很蛋疼,获取静态变量的时候用了一个while循环,然后不停的Thread.yield();。


@Component
public class InitEffectFactory implements ApplicationContextAware {
/** 初始化方法 */
	@PostConstruct
	protected void init() {
		//前面是一对的初始化操作
		InitEffectFactory.instance = this;
	}

     /**
	 * 获取效果工厂实例
	 * @return
	 */
	public static InitEffectFactory getInstance() {
		if (instance == null) {
			while (true) {
				Thread.yield();
				if (instance != null) {
					break;
				}
			}
		}
		return instance;
	}



}


你可能感兴趣的:(静态变量)