关于多进程安全问题 。 同步数据
synchronized(对象){
需要同步的代码块
}
判断是否需要同步的代码块是看数据是否是共享数据
对象如同锁,持有锁的京城可以子啊同步中执行,
没有持有锁的线程即使获取CPU的执行权,也进不去同步代码块,因为没有获取锁。
同步的前提
1、必须要有两个或者两个以上的线程。
2、必须多个线程使用同一个锁。
必须保证同步中只有一个线程在执行
弊端:多个线程都需要判断锁,比较耗费资源(内存);
同步函数
public synchronized void add(){}
函数需要被对象调用,那么函数都有一个所属对象调用,是this
所以同步函数的锁是this,