同步锁synchronized
来源:互联网 发布:平安淘宝信用卡 编辑:程序博客网 时间:2024/06/09 15:26
synchronized锁住的是括号里的对象,而不是代码
一,synchronized同方法:
1,public synchronized void test()
非静态方法锁的是方法的所在类的某个对象,其他线程中调用当前对象的该synchronized以及其他synchronized的处于等待;
其他线程中调用当前对象的其他非synchronized方法正常运行;
其他线程中调用当前类的其他实例对象的所有方法正常运行,不受影响;
2public static synchronized void test()
如果一个类中定义了一个synchronized 的 static 函数A,也定义了一个 synchronized 的 instance函数B,那么这个类的同一对象Obj在多线程中分别访问A和B两个方法时,不会构成同步,因为它们的锁都不一样。B方法的锁是Obj这个对象,而B的锁是Obj所属的那个Class。
二,synchronized同步块:
1,同步到单一对象锁:
当使用同步块时,如果方法下的同步块都同步到一个对象上的锁,则所有的任务(线程)只能互斥的进入这些同步块。
Resource1.java演示了三个线程(包括main线程)试图进入某个类的三个不同的方法的同步块中,虽然这些同步块处在不同的方法中,但由于是同步到同一个对象(当前对象 synchronized (this)),所以对它们的方法依然是互斥的。
2,同步到多个对象锁
Resource1.java演示了三个线程(包括main线程)试图进入某个类的三个不同的方法的同步块中,这些同步块处在不同的方法中,并且是同步到三个不同的对象(synchronized (this),synchronized(syncObject1),synchronized (syncObject2)),所以对它们的方法中的临界资源访问是独立的。
- synchronized同步锁详解
- java 同步锁(synchronized)
- synchronized 同步锁
- synchronized同步锁详解
- synchronized 同步锁
- synchronized线程同步锁
- java同步锁(synchronized)
- java 同步锁(synchronized)
- synchronized同步锁
- Java synchronized同步锁
- java 同步锁(synchronized)
- synchronized同步锁
- java-同步锁synchronized
- java 同步锁(synchronized)
- synchronized同步锁
- 同步锁synchronized
- java 同步锁(synchronized)
- java 同步锁(synchronized)
- Word 2016使用技巧
- Python定时利用QQ邮件发送天气预报
- URL中的保留和不安全字符
- 编码问题(java)
- 那些年我们想做的无人值守
- 同步锁synchronized
- java 自我知识总结(十三)final
- 让“懒惰” Linux 运维工程师事半功倍的 10 个关键技巧!
- 201503-1 图像旋转 ccf
- 电路加法
- 冒泡排序
- ELK技术实战–了解Elk各组件 ELK技术实战-部署Elk 2.x平台 ELK Stack是软件集合Elasticsearch、Logstash、Kibana的简称,由这三个软件及其相关的组件可
- 注解:函数指针,指针函数,指针数组....以及如何根据名称写出数组和指针
- Centos7 定时任务