synchronized 可以确保可见性又可以确保原子性,而volatile变量只能确保可见性,例如volatile不能确保递增操作(count++)的原子性操作,但是如果用synchronized 就可以确保原子性与可见性。