121-通过实验分析This锁的存在
this锁就是通过一个实例作为MONITOR,然后进行加锁。
同时访问。
public synchronized void m1() {}
public void m2() {}
顺序访问。两个线程运行方法时抢占同一个this锁。
一个线程必须等待另一个线程访问的方法执行完成才能访问。
public synchronized void m1() {}
public synchronized void m2() {}
同时访问。两个线程抢占的锁不一样。m1为this锁;m2为LOCK锁。
public synchronized void m1() {}
private final Object LOCK = new Object(); public void m2() { synchronized (LOCK) {} }
顺序访问。两个线程抢占同一个锁,即LOCK
private final Object LOCK = new Object();
public void m1() { synchronized (LOCK) {} }
public void m2() { synchronized (LOCK) {} }
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tuyrk@qq.com
文章标题:121-通过实验分析This锁的存在
文章字数:151
本文作者:神秘的小岛岛
发布时间:2019-11-27, 21:33:01
最后更新:2019-11-28, 23:47:01
原始链接:https://www.tuyrk.cn/wang-thread/121-this-lock/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。