synchronized学习笔记1
来源:互联网 发布:mac电脑怎么截长图 编辑:程序博客网 时间:2024/06/01 23:27
synchronized学习笔记1:
**1.**synchronized取得的锁是对象锁,哪个方法取得了带synchronized关键字的方法,哪个线程就取得了改线程的对象锁,前提多个线程同时访问同一个对象。
2.线程A持有对象object的对象锁,B线程可以以异步的方式调用object对象中的非synchronized类型的方法。
3.线程A调用object中的同步方法synchronized void funcA()时候,持有了对象object的对象锁,如果此时线程B调用object中的同步方法synchronized void funcB()时候,必须等待线程A释放对象锁。
**4.**synchronized支持锁重入(linux内核的自旋锁不支持重入,会造成死锁),若不支持重入,会出现:
线程A调用了object的synchronized void funcA(),此时线程A获得了object的对象锁,但是在funcA()内部,继续调用object的synchronized 方法,有与object的锁还没有释放,将会在这里等待,funcA()内部等待外部释放锁,funcA()外部方法卡在内部调用synchronized方法这里,互相等待,造成死锁。
5.当存在父子继承关系时,子类完全可以通过可重入锁调用父类同步方法的
6.当一个线程访问object中的一个synchronized(this)同步代码块时,其他线程中所有其他synchronized(this)同步代码块的访问将会被阻塞。
阅读全文
0 0
- synchronized学习笔记1
- 学习笔记-synchronized
- Java synchronized 学习笔记
- volatile、synchronized、lock学习笔记
- JAVA并发编程学习笔记之synchronized
- JAVA并发编程学习笔记之synchronized
- JAVA并发编程学习笔记之synchronized
- JAVA并发编程学习笔记之synchronized
- JAVA并发编程学习笔记之synchronized
- 疯狂Java学习笔记(68)-----------synchronized
- Java学习笔记(68)-----------synchronized
- Java 多线程学习笔记之synchronized
- 学习笔记之多线程编程synchronized
- synchronized笔记
- synchronized 笔记
- synchronized学习
- synchronized 学习
- Thinking in Java学习笔记 synchronized同步方法和synchronized同步块
- SpannableString&SpannableStringBuilder一些简单介绍
- express中session模块
- String类
- 浮动与定位部分知识总结
- 第一章 Java基础
- synchronized学习笔记1
- Android 发送和接收定制广播
- HDU
- 从高考到程序员的成长之路
- PHP文件上传数据存入数据库
- ListView的优化
- [Swift]iOS动画:下载动画
- sql
- Apache 服务配置二级域名