成功的路上总是离不开贵人的帮助,名师的指点和小人的刺激。

莫怕,过了桥,就翻篇了

2017年12月5日 #

2.1.6synchronized锁重入

摘要: 关键字在使用synchronized时,当线程得到一个对象锁时,这时这个线程再次请求此对象锁是可以拿到的,也就说明同步方法之间是可以进行互相调用的, 可重入锁的概念: 自己可以再次获取自己的内部锁,譬如有一条线程获得了某个对象的对象锁,此时这个对象锁还没释放,当其要再次获得这个对象锁的时候还能获取, 阅读全文

posted @ 2017-12-05 19:18 痞子陈2016 阅读(176) 评论(0) 推荐(0) 编辑

2.1.8同步不具有继承性

摘要: 同步不可以继承 从结果可以分析,同步不能继承,所以还得再子类加上synchoized关键字才行。 阅读全文

posted @ 2017-12-05 19:13 痞子陈2016 阅读(280) 评论(0) 推荐(0) 编辑

2.1.7出现异常,锁自动释放

摘要: 当一个线程执行代码的时候出现异常,则其所持有的锁会自动释放。 线程a出现异常后释放锁,这时线程b可进入执行方法 阅读全文

posted @ 2017-12-05 18:59 痞子陈2016 阅读(169) 评论(0) 推荐(0) 编辑

2.1.5脏读

摘要: 虽然在赋值的时候进行了同步,但是在取值的时候会出问题,这就叫做脏读。 发生脏读说明在读取实例变量的值的时候,此值已经被其他线程改过了。 测试如下 出现结果分析: 出现脏读是因为getValue方法不是同步的,所以可以在任意时候进行调用。 解决方案:加上synchronized 阅读全文

posted @ 2017-12-05 18:37 痞子陈2016 阅读(144) 评论(0) 推荐(0) 编辑

导航