java synchronized 关键字(1)对象监视器为Object
来源:互联网 发布:侠盗飞车3罪恶都市mac 编辑:程序博客网 时间:2024/04/30 20:21
在java多线程中 synchronized 是非常重要的,也是经常用到的
对于synchronized关键字要注意两点
synchronized对象监视器为Object的时候
synchronized对象监视器为Class的时候
对象监视器为Object
也就是synchronized锁定的是对象
例如下面代码
public class A { synchronized public void MethodA(){ System.out.println("this is MethodA"); } synchronized public void MethodB(){ System.out.println("this is MethodB"); } public void MethodC(){ System.out.println("this is MethodC"); }}
创建对象 a 和b
A a = new A();A b = new A();
当两个线程分别调用 a.MethodA() 和 a.MethodB() 的时候 这两个方法是不能同时执行的,因为synchronized 锁的是a 这个对象,a 里面被synchronized 关键字标记的方法只能串行,也就是同一时间只有一个synchronized 标记的方法能运行。a.MethodA() 运行 b.MethodB()就要等待,
但a.MethodC()可以运行,因为MethodC没有被标记,属于非现成安全。不受关键字影响。
a.MethodA()和b.MethodA() 可以同时运行,因为synchronized锁的是对象,a和b属于两个对象,所以有两把锁分别锁a和b,但相互之间不受影响。
0 0
- java synchronized 关键字(1)对象监视器为Object
- java synchronized 关键字(2)对象监视器为class
- java synchronized 关键字(3)对象监视器Object与class同时使用
- 对象监视器,线程关键字synchronized
- java synchronized关键字,类锁,对象锁详解
- java 使用synchronized关键字锁定的对象
- 内置锁(三)---- synchronized的几个要注意的对象监视器
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- java对象锁和类锁全面解析(多线程synchronized关键字)
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- Java 对象锁和类锁 死锁(多线程synchronized关键字)
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- Java对象锁和类锁全面解析(多线程synchronized关键字)
- java线程同步——条件对象+synchronized 关键字
- Java多线程研究02-对象锁,synchronized关键字详解
- 最短路径四大算法核心Code
- 第五届蓝桥杯软件类省赛真题-JAVA-A-2_李白打酒
- gstreamer常用的指令汇总
- hdu 1698 Just a Hook
- 宏函数与自定义函数的区别与优缺点
- java synchronized 关键字(1)对象监视器为Object
- tomcat闪退
- Struts2.5使用通配符的方式实现动态方法调用报错
- java基础(二)-日期时间类
- (转)Android闪屏问题的分析思路
- 是否双引导 Linux 系统的理由
- 扫雷
- LeetCode 38. Count and Say
- 冒泡排序