java.关于线程同步的几个知识点
2018-07-02 · 国内最优秀java资源共享平台
关注
展开全部
扩展:
为何要使用同步?
因为java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),所以将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。
2.同步方法
有synchronized关键字修饰的方法。
由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。
列:
public synchronized void save(){}
3.同步代码块
有synchronized关键字修饰的语句块。
被该关键字修饰的语句块会自动被加上内置锁,从而实现同步
列: synchronized(object){ }
4.用特殊域变量(volatile)实现线程同步
5.用重入锁实现线程同步
6.用局部变量实现线程同步
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询