用synchronized和不用synchronized简单的说就是 1个房子有2个门,用synchronized的是从有锁的门 进入房子,并且进入后锁门,出来后门打开。 而不用synchronized的是从没有锁的门进入。 从有锁的门进入的人只管把这个门锁上,但没办法干预从无锁的门进入的人 所以如果clear()方法是synchronized,他进门后取走所有鸡蛋 这时如果一个非synchronized的get()方法想进门取得一个鸡蛋就出错了