代码之家  ›  专栏  ›  技术社区  ›  stephan

什么是D中的班长?

  •  11
  • stephan  · 技术社区  · 15 年前

    D2.0等级有 __monitor “允许访问类对象的监视器”的类属性( documentation )我四处搜索了一下,除了 this 一点点细节。那么:什么是监视器?为什么一个监视器用于所有 synchronized member functions ?是一个 synchronization primitive 用于同步类似Java的成员函数?为什么是 γ射线监测器 如果不应该使用语言def中的属性/用例是什么?

    1 回复  |  直到 15 年前
        1
  •  7
  •   dsimcha    15 年前

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