11

D2.0 类具有__monitor“允许访问类对象的监视器”的类属性(文档)。我搜索了一下,除了这个细节之外没有找到任何信息。那么:什么是显示器?为什么一个监视器用于所有同步的成员函数?它是 用于同步类似 Java 的成员函数的同步原语吗?__monitor如果您不应该使用它,为什么语言中的属性是def/用例是什么?

4

1 回答 1

7

监视器是一个延迟初始化的对象,所有同步方法都在其上同步,就像在 Java 中一样。与 Java 不同,D 是一种系统编程语言,它公开了事物如何工作的较低级别的细节,以防万一你需要破解它们,即使这样做通常是一个坏主意。这允许您自定义行为。例如,可以自定义类的监视器对象,或者使用core.sync.mutex与拥有它的类共享监视器的对象。

于 2010-03-08T15:41:29.373 回答