問題タブ [copy-on-write]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
85 参照

triggers - 書き込みトリガーでコピー

特別なトリガー テーブルの順序は同じであるinsertedと期待できdeletedますか?

そうでない場合、ID 列に影響を与える挿入ステートメントをどのように処理すればよいですか?

本番 (メイン) データベースがあります。本番データベースの最上位層である開発データベースをセットアップしようとしています。開発データベースでは、アプリケーションが変更しないテーブルとビューは、運用データベースと同義です。変更するテーブルのビューを設定しています。これらのビューが更新または挿入されると、データは本番データベース テーブルではなく、セカンダリ テーブルに挿入されます。ビューは、セカンダリ テーブルからすべての行を選択し、次に、セカンダリ テーブルに存在しない運用テーブルの行を選択します (比較は主キー列で行われます)。

私のプロダクション テーブルの 1 つが で、MainDB.App.Dataセカンダリ テーブルがMockDB.MockTables.Dataで、ビューが であるとしますMockDB.App.Data。モック テーブルを更新または挿入するビューにトリガーがあります。

0 投票する
1 に答える
1145 参照

delphi - レコード配列のコピーオンライト

コピー オン ライト セマンティクスはレコードの動的配列に適用されますか?

レコードの配列を適切に複製するには?

これで十分ですか?:

コピーが完了したら、最初の配列をリセットする必要があります。

こうすればいいの?

0 投票する
2 に答える
8656 参照

c - fork()でコピーオンライトはどのように機能しますか?

fork() でコピー オン ライトがどのように発生するかを知りたいです。

動的 int 配列を持つプロセス A があると仮定します。

配列の要素は、意味のある値に初期化されています。次に、fork() を使用して子プロセス、つまり B を作成します。B は配列を反復し、いくつかの計算を行います。

  1. B が配列全体をすぐにコピーしないことはわかっていますが、子 B はいつ配列にメモリを割り当てますか? fork() 中?
  2. 配列全体を一度に割り当てますか、それとも単一の整数のみを割り当てますa = a+1か?
  3. a = a+1;これはどのように起こりますか?B は A からデータを読み取り、新しいデータを独自の配列に書き込みますか?

COW がどのように機能するかを調べるために、いくつかのコードを書きました。私の環境:ubuntu 14.04、gcc4.8.2

fork() の後、子プロセスは配列内の数値の半分を変更してから、配列全体を変更します。出力は次のとおりです。

配列全体が割り当てられていないようです。最初の変更フェーズを次のように少し変更すると:

出力は次のようになります。

0 投票する
2 に答える
103 参照

memory - コピー オン ライト : 父と息子がページを変更した後のステータスは?

プロセスをフォークすると、最初は父と息子が同じメモリ ページを共有します。ただし、そのうちの 1 人がこのページに書き込むと、最初のページがこの変更の影響を受けないように複製されます。これは、おおよそコピーオンライトと呼ばれるものです。

私の質問は次のとおりです。プロセスを fork() してから、子がページを変更するとどうなりますか。ページは一度複製されますが、その後、父親もページを変更します。ページが再度複製されましたか? 父親は、息子だけがすでに複製されていることを「知っています」か?

よろしくお願いいたします。

0 投票する
1 に答える
1243 参照

c++ - C++ - コピーオンライトの基本実装

学校のプロジェクトでコピーオンライトを使用することになっています。私は非常に単純なクラスを試してみましたが、うまくいきませんでした。私はこれを持っています:

couts を取り出すと、すべてが正常に機能するため、奇妙です (valgrind によるリークやエラーはありません)。

どんな助けでも大歓迎です。