会有并发问题,判断为null直接赋值的话可能会丢数据