死锁
==
与equals
的区别
==
在基本数据类型:值内容, 引用类型:地址equals
具体看各个类是否重写equals
: 不重写 equals,比较的是地址;重写后,一般是比较值内容
# 死锁的执行表现
关于排他锁
,关键字synchronized
的锁就是排他锁
t1 线程在锁池中寻找共享对象的锁并把占有锁,然后继续执行.
此时若 t2 线程也想要占有"共享对象"的那一把锁,但是锁已经被 t1 占有了,所以t2只能等排队等待,
在 t1 线程执行结束后,t1线程归还该共享对象的锁,然后 t2 线程占有这把锁,开始执行.
出现死锁的执行表现:
不出现异常,不出现错误,程序僵在原地
# 锁的简单分类
类锁:类锁永远只有 1 把,与类创建了多少个实例对象无关 =======