23

作業中のソース コードやその他のコードで、「dirty」という名前の変数がいくつか見られます。どういう意味ですか?ダーティフラグとは?

4

4 に答える 4

37

通常、ダーティ フラグは、一部のデータが変更され、最終的に外部の宛先に書き込む必要があることを示すために使用されます。隣接するデータも変更される可能性があり、大量のデータを書き込む方が個々の値を書き込むよりも一般的に効率的であるため、すぐには書き込まれません。

于 2012-11-21T22:44:51.073 に答える
18

ここには、「汚いとはどういう意味ですか?」というよりも、より深い問題があります。コードの文脈では、私たちは本当に尋ねるべきだと思います - 「ダーティ」は一般的に意図されているものに対する適切な用語です.

「ダーティ」は混乱を招き、誤解を招く可能性があります。多くの新しいプログラマーには、フォーム データの破損またはエラーが示唆されます。作業が「汚れている」ということは、何かが間違っていて、データをパージまたは削除する必要があることを意味します。汚いものは、結局のところ、望ましくなく、不潔で不快なものです。

「フォームが変更された」または「フォームが修正されたが、変更はまだサーバーに書き込まれていない」という意味である場合、「ダーティ」ではなく「変更」または「writePending」ではないのはなぜですか?

これは、プログラミング コミュニティが対処する必要がある問題だと思います。

于 2013-04-10T00:20:16.493 に答える
8

ダーティは多くのことを意味する可能性があるため、より多くのコンテキストを提供する必要があります。しかし、非常に一般的な意味では、「ダーティ フラグ」は、何かが変更されたかどうかを示すために使用されます。

たとえば、Page Table の wikiで、メモリ管理のコンテキストでの「ダーティ ビット」の使用法を参照してください。

于 2012-11-21T22:44:40.253 に答える
4

「ダーティ」は、アプリケーション レベルのキャッシングからアーキテクチャ キャッシングまで、キャッシングのコンテキストでよく使用されます。

一般に、キャッシング メカニズムには次の 2 種類があります。(1) ライト スルー。(2)書き戻す。略して WT と WB を使用します。

WTは、書き込みがキャッシュとバッキング ストアの両方に対して同期的に行われることを意味します。(たとえば、キャッシュとバッキング ストアと言うと、データベースのコンテキストでは、それぞれメイン メモリとディスクを表すことができます)。

対照的に、WBの場合、最初はキャッシュのみに書き込みが行われます。バッキング ストアへの書き込みは、データを含むキャッシュ ブロックが新しいコンテンツで変更または置換される直前まで延期されます。

データはダーティ値です。WB キャッシュを実装する場合、ダーティ ビットを設定して、キャッシュ ブロックにダーティ値が含まれているかどうかを示すことができます。

于 2012-11-23T02:41:35.223 に答える