码迷,mamicode.com
首页 > 其他好文 > 详细

同步锁

时间:2018-01-31 11:32:25      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:没有   产生   一个   class   获取   分类   原因   通过   .class   

1.产生线程安全的问题的原因
当多条语句操作同一线程的共享数据时,一个线程对多条语句值执行了一部分,还没执行完,另一个线程参与进来执行,导致共享数据时错误的
2.解决办法
对多条操作共享数据的语句,执行完毕,才能放弃cpu的执行权,需要通过锁对象来完成
3.锁对象的原理
持有锁对象线程可以在同步中执行,没有锁的线程及时获取cpu的执行权,也进步去,因为没有锁
4.同步的前提
必须有两个或两个以上的线程
必须是多个线程使用同一个锁
5.使用锁的好处和坏处
好处:解决了线程安全问题
坏处:每个线程都需要判断锁,比较耗费资源
6.同步的分类
同步代码块 synchronized (任意对象){需要被同步的代码}
同步函数 public synchronized void method (){需要被同步的代码}锁对象是this
静态同步代码块或函数 public synchronized void method (){需要被同步的代码}锁对象是类名.class

同步锁

标签:没有   产生   一个   class   获取   分类   原因   通过   .class   

原文地址:http://blog.51cto.com/13579086/2067180

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!