可重入锁 – 实践中的Java并发
下面是一些用于“实践中的
Java并发”的重入锁定的示例代码:
class Widget { public synchronized void doSomething() { System.out.println(toString() + ": calling superclass doSomething"); } } class LoggingWidget extends Widget { public synchronized void doSomething() { System.out.println(toString() + ": calling subclass doSomething"); super.doSomething(); } } 这本书在上面的代码中解释了…… 我运行上面的代码来观察内在锁.上面的引用似乎暗示一个线程获取Widget对象的内部锁,但我观察到的是该线程获取了LoggingWidget上的锁.我不确定如何验证采集计数,所以无法观察到. 该书是否可以互换地使用名称LoggingWidget / Widget,还是应该特意观察Widget对象的锁定? 编辑:完整摘录
解决方法
是的,作者可以互换地使用LoggingWidget / Widget,因为根据OOP继承原则,LoggingWidget对象也是一个Widget类对象.在该示例中,将仅创建一个对象实例,并将其用作同步监视器以重新输入.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |