image.png
在web服务器中多次触发start()方法。也就是多个线程执行方法。

加入synchronize

因为这边既要判断starting,又要赋值。这就需要是原子操作。需要synchronized

加入volatile

为了多个线程可以即时收到starting的改变。虽然synchronized可以实现可见性,volatile可以不加,当时如果其他线程也需要修改这个,就需要volatile
image.png