为什么mInstance要进行两次null的判断

来源:2-2 创建Framgment展示节日列表

guoweibin

2015-11-15 16:43

if(mInstance==null)
{
synchronized(FestivalLab.class) //让线程互斥的进入;注意if语句;
{
if(mInstance==null)
mInstance=new FestivalLab();
}

}

写回答 关注

1回答

  • max1210
    2015-12-27 21:45:50

    就说第二次判空吧 线程ab都通过了第一个if 此时因为锁的机制 假设a线程先执行实例化了 则mInstance已经不为空 b线程就不能再去实例化了 若没有第二次判断 则b线程会在a线程实例化后再次执行实例化

Android-节日短信送祝福(UI篇)

带领大家实现一个节日短信的群发app以及监听短信的发送状态等

21592 学习 · 55 问题

查看课程

相似问题