11

D2.0 クラスには、__monitor「クラス オブジェクトのモニターへのアクセスを許可する」クラス プロパティがあります (ドキュメント)。少し調べてみましたが、この詳細以外の情報は見つかりませんでした。だから:モニターとは何ですか?すべての同期メンバー関数に 1 つのモニターが使用されるのはなぜですか? Java に似たメンバー関数の同期に使用される同期 プリミティブですか? そして、__monitorそれを使用することになっていないのに、なぜ言語定義のプロパティなのですか/ユースケースは何ですか?

4

1 に答える 1

7

モニターは、Java と同様に、すべての同期メソッドが同期する遅延初期化オブジェクトです。Java とは異なり、D はシステム プログラミング言語であり、ハッキングが必要になった場合に備えて、通常は悪い考えであっても、物事の仕組みの下位レベルの詳細を公開します。これにより、動作をカスタマイズできます。たとえば、クラスのモニター オブジェクトをカスタマイズしたり、モニターcore.sync.mutexを所有するクラスと共有する を使用したりできます。

于 2010-03-08T15:41:29.373 に答える