2010-09-21 76 views
1

我记得通过将方法分为'external'和'internal'来处理C++中锁定问题的设计模式(其中一些锁定不可重入) 。外部人员获得锁定并可以调用内部锁定,然后依次声明锁定被锁定。外部的不能调用其他外部的(因为那会造成死锁),同样的原因,内部的不能调用外部的。有人记得这种模式的名字吗?锁定设计模式名称(使用内部方法)

+0

它看起来很粗糙,只要设计去... – 2010-09-21 18:54:46

回答

1

我不认为这是一个真正的设计模式 - 对我来说这是一个实施实践,旨在防止死锁,并在错误使用该类的情况下检测它们。

编辑: 但是,Douglas Schmidt不同意,所以我想这是一种模式。

+0

然而,它确实有一个名称,我清楚地记得在设计模式书中读到它... – 2010-09-21 18:43:59

0

这种模式不仅适用于锁和线程,还适用于API必须“设置某些东西”的许多其他情况,对其执行某些操作并将其取下。历史示例包括切换到自己的堆栈的API,或将被切换到内存,操纵和划出的图形硬件系统。

相关问题