同步锁
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步锁相关的知识,希望对你有一定的参考价值。
1.产生线程安全的问题的原因当多条语句操作同一线程的共享数据时,一个线程对多条语句值执行了一部分,还没执行完,另一个线程参与进来执行,导致共享数据时错误的
2.解决办法
对多条操作共享数据的语句,执行完毕,才能放弃cpu的执行权,需要通过锁对象来完成
3.锁对象的原理
持有锁对象线程可以在同步中执行,没有锁的线程及时获取cpu的执行权,也进步去,因为没有锁
4.同步的前提
必须有两个或两个以上的线程
必须是多个线程使用同一个锁
5.使用锁的好处和坏处
好处:解决了线程安全问题
坏处:每个线程都需要判断锁,比较耗费资源
6.同步的分类
同步代码块 synchronized (任意对象){需要被同步的代码}
同步函数 public synchronized void method (){需要被同步的代码}锁对象是this
静态同步代码块或函数 public synchronized void method (){需要被同步的代码}锁对象是类名.class
以上是关于同步锁的主要内容,如果未能解决你的问题,请参考以下文章