并发编程の锁
来源:互联网 发布:spark json rdd 编辑:程序博客网 时间:2024/06/11 01:22
本节包含三个知识点:
1.多线程多个锁
2.对象锁同步
3.对象锁异步
多个线程多个锁:多个线程,每个线程都可以拿到自己指定的锁,分别获得锁之后,执行synchronized方法体的内容。
注意点:关键字synchronized取得的是对象锁,而不是一把代码(方法)当作锁,所以,如果两个对象当作锁,线程获得的是两个不同的锁,他们互不影响。
只有一种情况是相同的锁,即静态方法上加synchronized关键字,表示.class类,类一个级别的锁(独占.class类)
同步:synchronized
同步的概念就是共享,我们要牢记“共享”这俩字,如果不是共享的资源就没有必要进行同步。
异步:synchronized
异步的概念就是独立,相互之间不受到任何制约。就好像我们学习http的时候再页面发起的Ajax请求,我们还可以继续浏览或操作页面的内容,两者之间是没有任何关系。
同步的目的就是为了线程安全,其实对于线程来说,需要满足两个特性:
原子性(同步)
可见性
例如:
A线程先持有Object对象的Lock锁,B线程如果在这个时候调用对象中的同步(synchronized)方法则需等待,也就是同步。
A线程先持有Object对象的Lock锁,B线程可以异步的方式调用对象中的非synchronized修饰的方法
阅读全文
0 0
- 并发编程の锁
- iOS并发编程-锁
- 并发编程-锁
- Java并发编程-锁
- 并发编程-Executor、锁
- 并发编程の线程安全
- 无锁的并发编程
- 并发编程12-显示锁
- Java并发编程之锁
- 并发编程二:普通锁
- 并发编程三:读写锁
- JAVA并发编程-LOCK锁
- java并发编程---lock锁
- 并发编程--CAS自旋锁
- 《并发编程》--12.读写锁
- 并发编程--并发集合
- 并发编程
- 并发编程
- easyui ValidateBox validType验证规则
- Yii控制器直接校验系统验证码
- 牛客华为机试题刷题笔记(三)
- 多线程经典面试题
- Eclipse最有用快捷键
- 并发编程の锁
- 我的读书笔记
- 第一次使用Masonry,一运行就奔溃。。。
- AS开发中出现Error(八)——studio无法认出Android环境setup JDK
- ElasticSearch使用
- (转)OLED vs LED&LCD:哪种屏幕技术更胜一筹
- 全景分组插件
- .Net连接池救生员
- OpenDaylight:Data Store的同步与异步读写