問題タブ [shared-memory]

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 投票する
5 に答える
6785 参照

c++ - C++ 用の優れた共有メモリ コンテナーを持っている人はいますか?

私は長い間、共有メモリ セグメントまたはメモリ マップ ファイルに配置できる STLish コンテナーを望んでいました。

通常の STL コンテナを共有メモリ セグメントに配置するために、カスタム アロケータと新しい配置を使用することを検討しました。(このddj記事のように)。問題は、STL コンテナーが、所有するメモリへのポインターを内部的に持つことです。したがって、共有メモリ セグメントまたはメモリ マップド ファイルが別のベース アドレスにロードされると (おそらく、後続の実行時または 2 番目のプロセスで)、内部ポインターが突然無効になります。私が知る限り、カスタム アロケーターのアプローチは、メモリ セグメントを常に同じアドレスのプロセスにマップできる場合にのみ機能します。少なくともメモリマップされたファイルでは、システムが好きなようにマップできるようにするだけでは、そうではないという経験がたくさんあります。

これを行う方法についていくつかの考えがありましたが、他の誰かが既に作業を行っている場合は避けたいと思います (怠け者の私です)。

最良のロック戦略はアプリケーションに大きく依存するため、現在、ロックについては議論から除外しています。

0 投票する
6 に答える
4157 参照

coldfusion - ColdFusion でスコープ ロック (アプリケーション、サーバーなど) と名前付きロックを使用する必要があるのはいつですか?

どのような場合に <cflock scope="application"> を使用するのが適切ですか? または <cflock name="foo"> とは対照的に、それは同類ですか?

具体的には、CFLock を使用してアプリケーション、セッション、またはサーバー スコープ内の共有オブジェクトを保護することに関心がありますが、ColdFusion でのロックのさまざまな用途についても知りたいと思っています。

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

coldfusion - アプリケーション スコープでロックを使用する場合

アプリケーション スコープで作成されたコードをロックする必要があるかどうか疑問に思っています。アプリケーション スコープで userDAO.cfc というオブジェクトを作成すると、すべてのページで使用できるようになります。次に、そのオブジェクトに、アプリケーションのさまざまな部分で呼び出される getUserInfo(userID) というメソッドがある場合、このメソッドをロックする必要がありますか?

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

shared-memory - Linux で ipcrm を使用して共有メモリを削除する

私は共有メモリ アプリケーションを使用しており、次のコマンドを使用してセグメントを削除しています。

ipcsしかし、実行すると同じセグメントが表示されますが、キーが 0x0000000 であるため、正しいことを行っているかどうかはわかりません。では、メモリ セグメントは本当に削除されているのでしょうか。アプリケーションを数回実行すると、次のようにキー 0x000000 を持つさまざまなメモリ セグメントが表示されます。

実際に何が起こっているのですか?メモリセグメントは本当に削除されていますか?

編集:問題は、受け入れられた回答で以下に述べたように、共有メモリを使用する2つのプロセスがあり、すべてのプロセスが閉じられるまでメモリセグメントが消えないことでした。

0 投票する
6 に答える
38509 参照

.net - .NET で共有メモリを実装するには?

C++.NET アプリと C#.NET アプリがあります。共有メモリを介して通信したいと思います。

.NET バージョン 2.0 ではどのように可能ですか?

主にキュー オブジェクトを共有したい。

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

windows - Windows で共有メモリを表示するプログラム?

Windows x32/x64 で (ローカル) 共有メモリを表示および参照するプログラムを探しています。

以前に実際に動いているのを見たことがあるので、これが存在することを知っています。なんらかの理由で、Google と MSDN はこれに失敗しました。

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

php - PHPとCで共有メモリを使用していますか?

共有メモリを使用して、Windows で php スクリプトと c プログラムの間で通信できますか?

c プログラムは常に実行され、メモリ マップされたファイルを使用します。

PHP スクリプトの場合、以下のコードを使用して、c プログラムによって作成されたメモリ マップ ファイルを開くことができますか?

または、CメモリマップファイルとPHP共有メモリは別のものですか?

0 投票する
6 に答える
16353 参照

c++ - Windows での共有メモリの使用。異なるデータを渡す方法

現在、Windows のCreateFileMappingメカニズムを使用してプロセス間通信を実装しようとしています。最初に CreateFileMapping でファイル マッピング オブジェクトを作成し、次に MapViewOfFile で実際のデータへのポインターを作成する必要があることはわかっています。次に、この例では、CopyMemory を使用してデータを mapfile に入れます。

私のアプリケーションには、別のプロセスに送信したい画像バッファ (1 MB の大きさ) があります。そこで、画像へのポインターを照会し、画像バッファー全体を mapfile にコピーします。しかし、これが本当に必要なのだろうか。画像バッファデータを指す共有メモリ内の実際のポインタをコピーすることはできませんか? 少しやってみましたがうまくいきませんでした。

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

c++ - オブジェクトの使用方法が原因で、このコードが希望どおりに機能しないのではないかと心配しています。

私は次のコードを持っています、そして誰かが私のためにそれを見ることができるかどうか疑問に思いました。

私は、すべてがオブジェクトを共有し、それを操作するマルチスレッドアプリケーションを持っています。その特定の要素へのポインタを作成したので、毎回長いパスを入力する必要はありませんが、共有オブジェクトではなく、共有オブジェクトのコピーを変更しているだけかもしれないと心配していますオブジェクト自体。

コードは次のとおりです。

これは有効ですか、それとも単にコピーを変更するだけですか?

0 投票する
13 に答える
4426 参照

shared-memory - 共有メモリのロックの問題に関する記事を探す

私はいくつかのコードを見直しており、使用されている手法に疑いを感じています。

Linux 環境では、複数の共有メモリ セグメントを接続する 2 つのプロセスがあります。最初のプロセスは、共有する新しいファイル セットを定期的にロードし、共有メモリ ID (shmid) を「マスター」共有メモリ セグメント内の場所に書き込みます。2 番目のプロセスは、この「マスター」の場所を継続的に読み取り、shmid を使用して他の共有セグメントを接続します。

マルチCPUホストでは、あるプロセスが他のプロセスによって書き込まれている間にメモリを読み取ろうとするとどうなるかは、実装に依存するようです。しかし、おそらくハードウェア レベルのバス ロックにより、ワイヤ上のビットの破損が防止されるでしょうか? 読み取りプロセスがすぐに変更される値を取得したかどうかは問題ではありません。読み取りが古い値でも新しい値でもない何かに破損した場合にのみ問題になります。これは特殊なケースです。32 ビットのみが読み書きされています。

シュマットのものをグーグルで検索しても、この分野で決定的なものにはなりませんでした。

私はそれが安全でも正気でもないことを強く疑っています.私が本当に欲しいのは、問題を詳細に説明する記事へのいくつかのポインタです.