java多线程笔记(2)——关于synchronized关键字一些注意事项
来源:互联网 发布:para海外专营店淘宝 假 编辑:程序博客网 时间:2024/05/17 08:27
synchronized关键字的作用域有两种:
一、在某个对象的实例内,synchronized对实例方法的作用,它可以防止多个线程同时访问同一对象的synchronized方法;
二、类的static方法上进行修饰,可以防止多个线程访问这个类的同步静态方法。
同步代码块中的做用对象应当是当前实例对象。
synchronized关键字不能继承,也就是说,如果基类的某个方法被synchronized所修饰,那么子类的该方法并不会继承synchronized关键字。
总结一下就是:synchronized关键字可以作为方法的修饰符,同时,也可以作为方法内部语句的修饰符,当然也可以直接作为同步代码块的修饰符。当然无论如何,synchronized取得的锁永远都是对象,而不可能将一段代码作为锁;每个对象只有一个锁;同步会产生极大的系统开销,使用不当还有可能发生死锁,所以如非必要,尽量不要使用同步机制。
不同场景下使用synchronized关键字:
1. 在对象方法上,此时锁定的对象是调用该方法的实例对象,它等同于在方法内部使用
synchronized(this){//同步代码块}
此时的this指代的就是调用该方法的对象。
2. synchronized作用于静态方法,它锁定的是该类,以免多线程同时调用该方法,等同于在静态方法内部使用
synchronized(className.class){//className表示当前类名}
阅读全文
0 0
- java多线程笔记(2)——关于synchronized关键字一些注意事项
- java多线程学习笔记——synchronized关键字
- Java 多线程 —— synchronized关键字
- Java多线程——关键字synchronized
- Java多线程—— synchronized关键字详解
- 关于java关键字synchronized的一些心得体会
- 关于java synchronized关键字的一些理解
- java的synchronized关键字,多线程编程的注意事项
- Java多线程 synchronized关键字
- Java多线程-synchronized关键字
- Java 多线程 Synchronized关键字
- Java多线程-synchronized关键字
- 【java多线程 关键字】synchronized
- Java——多线程总结、ThreadLocal/Volatile/synchronized/Atomic关键字
- Java多线程(六)——Synchronized关键字
- Java多线程(3)——同步与synchronized关键字
- 关于java中的synchronized关键字的一些小研究
- Java多线程同步 synchronized关键字
- 线性布局LinearLayout 的注意点
- lua hello world
- Bootstrap-栅格系统自适应布局
- gdb基本命令【转】
- Hibernate Tools for Eclipse的使用
- java多线程笔记(2)——关于synchronized关键字一些注意事项
- 密码术语
- 相对布局
- Sqoop的安装配置
- php对象复制相关解析
- Mybatis之MySQL批量增删改查,多选项查询,模糊查询,分页
- 手工搭建SSH框架
- HDU3572——Task Schedule (最大流判断满流)
- PHP中$$的应用