Language agnostic 如何锁定/解锁资源?
本文的前两部分已在中讨论过,在实施之前,我们希望进一步了解有关第三部分的更多信息 第三部分(3分) 了解Language agnostic 如何锁定/解锁资源?,language-agnostic,synchronization,locking,Language Agnostic,Synchronization,Locking,本文的前两部分已在中讨论过,在实施之前,我们希望进一步了解有关第三部分的更多信息 第三部分(3分) 了解锁定和解锁一个DListNode而不使用任何现有Java包是很重要的。使用,布尔标志的方法作为表示锁定/解锁状态的LockDListNode的成员,此标志的设置是非原子的。因为,如果我设置flag=true此集合操作可以是字节码级别的多行指令 一旦这个成为实现lock/unlock的瓶颈的澄清得到解决,继承和重写的事情就可以很容易地解决了 我的问题: 您能否建议在DListNode上实现loc
锁定
和解锁
一个DListNode
而不使用任何现有Java包是很重要的。使用,布尔标志的方法
作为表示锁定/解锁状态的LockDListNode
的成员,此标志的设置是非原子的。因为,如果我设置flag=true代码>此集合操作可以是字节码级别的多行指令
一旦这个成为实现lock/unlock
的瓶颈的澄清得到解决,继承和重写的事情就可以很容易地解决了
我的问题:
您能否建议在DListNode
上实现lock/unlock
功能的方法
注意:此查询与Java知识无关。新类LockDListNode将扩展DListNode。现在您需要了解继承。DListNode应该有一个delete操作方法,您需要重写该方法,而不是执行任何操作
请参见下面的代码模板:
public class DListNode {
public DListNode{
}
public void delete(){
// TODO some delete code here
}
}
public class LockDListNode extends DListNode {
public LockDListNode{
super();
}
@override
public void delete(){
// DO nothing here
}
}
现在如果你这样做了
DListNode unableToDeleteNode = new LockDListNode();
unableToDeleteNode.delete();
您创建了LockDListNode的对象并调用delete方法,它将为LockDListNode而不是DListNode调用delete
DListNode unableToDeleteNode = new LockDListNode();
unableToDeleteNode.delete();