1.多个线程操作共享的数据
2.操作共享的线程代码有多条
当一个线程在操作共享数据的多条代码中,其他线程参与了运算,就会导致线程安全问题的产生;
解决:
将多条线程操作的共享数据的线程代码封装起来,当有线程在执行这些代码块的时候 ,其他线程不可参与运算。
synchronized 同步代码块
好处:解决了线程的安全问题
弊端:相对降低了效率,因为同步外的线程都会判断同步锁。
3.同步的前提:
有多个线程使用同一个锁;
1.多个线程操作共享的数据
2.操作共享的线程代码有多条
当一个线程在操作共享数据的多条代码中,其他线程参与了运算,就会导致线程安全问题的产生;
解决:
将多条线程操作的共享数据的线程代码封装起来,当有线程在执行这些代码块的时候 ,其他线程不可参与运算。
synchronized 同步代码块
好处:解决了线程的安全问题
弊端:相对降低了效率,因为同步外的线程都会判断同步锁。
3.同步的前提:
有多个线程使用同一个锁;