問題タブ [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.
c++ - C++ 用の優れた共有メモリ コンテナーを持っている人はいますか?
私は長い間、共有メモリ セグメントまたはメモリ マップ ファイルに配置できる STLish コンテナーを望んでいました。
通常の STL コンテナを共有メモリ セグメントに配置するために、カスタム アロケータと新しい配置を使用することを検討しました。(このddj記事のように)。問題は、STL コンテナーが、所有するメモリへのポインターを内部的に持つことです。したがって、共有メモリ セグメントまたはメモリ マップド ファイルが別のベース アドレスにロードされると (おそらく、後続の実行時または 2 番目のプロセスで)、内部ポインターが突然無効になります。私が知る限り、カスタム アロケーターのアプローチは、メモリ セグメントを常に同じアドレスのプロセスにマップできる場合にのみ機能します。少なくともメモリマップされたファイルでは、システムが好きなようにマップできるようにするだけでは、そうではないという経験がたくさんあります。
これを行う方法についていくつかの考えがありましたが、他の誰かが既に作業を行っている場合は避けたいと思います (怠け者の私です)。
最良のロック戦略はアプリケーションに大きく依存するため、現在、ロックについては議論から除外しています。
coldfusion - ColdFusion でスコープ ロック (アプリケーション、サーバーなど) と名前付きロックを使用する必要があるのはいつですか?
どのような場合に <cflock scope="application"> を使用するのが適切ですか? または <cflock name="foo"> とは対照的に、それは同類ですか?
具体的には、CFLock を使用してアプリケーション、セッション、またはサーバー スコープ内の共有オブジェクトを保護することに関心がありますが、ColdFusion でのロックのさまざまな用途についても知りたいと思っています。
coldfusion - アプリケーション スコープでロックを使用する場合
アプリケーション スコープで作成されたコードをロックする必要があるかどうか疑問に思っています。アプリケーション スコープで userDAO.cfc というオブジェクトを作成すると、すべてのページで使用できるようになります。次に、そのオブジェクトに、アプリケーションのさまざまな部分で呼び出される getUserInfo(userID) というメソッドがある場合、このメソッドをロックする必要がありますか?
shared-memory - Linux で ipcrm を使用して共有メモリを削除する
私は共有メモリ アプリケーションを使用しており、次のコマンドを使用してセグメントを削除しています。
ipcs
しかし、実行すると同じセグメントが表示されますが、キーが 0x0000000 であるため、正しいことを行っているかどうかはわかりません。では、メモリ セグメントは本当に削除されているのでしょうか。アプリケーションを数回実行すると、次のようにキー 0x000000 を持つさまざまなメモリ セグメントが表示されます。
実際に何が起こっているのですか?メモリセグメントは本当に削除されていますか?
編集:問題は、受け入れられた回答で以下に述べたように、共有メモリを使用する2つのプロセスがあり、すべてのプロセスが閉じられるまでメモリセグメントが消えないことでした。
.net - .NET で共有メモリを実装するには?
C++.NET アプリと C#.NET アプリがあります。共有メモリを介して通信したいと思います。
.NET バージョン 2.0 ではどのように可能ですか?
主にキュー オブジェクトを共有したい。
windows - Windows で共有メモリを表示するプログラム?
Windows x32/x64 で (ローカル) 共有メモリを表示および参照するプログラムを探しています。
以前に実際に動いているのを見たことがあるので、これが存在することを知っています。なんらかの理由で、Google と MSDN はこれに失敗しました。
php - PHPとCで共有メモリを使用していますか?
共有メモリを使用して、Windows で php スクリプトと c プログラムの間で通信できますか?
c プログラムは常に実行され、メモリ マップされたファイルを使用します。
PHP スクリプトの場合、以下のコードを使用して、c プログラムによって作成されたメモリ マップ ファイルを開くことができますか?
または、CメモリマップファイルとPHP共有メモリは別のものですか?
c++ - Windows での共有メモリの使用。異なるデータを渡す方法
現在、Windows のCreateFileMappingメカニズムを使用してプロセス間通信を実装しようとしています。最初に CreateFileMapping でファイル マッピング オブジェクトを作成し、次に MapViewOfFile で実際のデータへのポインターを作成する必要があることはわかっています。次に、この例では、CopyMemory を使用してデータを mapfile に入れます。
私のアプリケーションには、別のプロセスに送信したい画像バッファ (1 MB の大きさ) があります。そこで、画像へのポインターを照会し、画像バッファー全体を mapfile にコピーします。しかし、これが本当に必要なのだろうか。画像バッファデータを指す共有メモリ内の実際のポインタをコピーすることはできませんか? 少しやってみましたがうまくいきませんでした。
c++ - オブジェクトの使用方法が原因で、このコードが希望どおりに機能しないのではないかと心配しています。
私は次のコードを持っています、そして誰かが私のためにそれを見ることができるかどうか疑問に思いました。
私は、すべてがオブジェクトを共有し、それを操作するマルチスレッドアプリケーションを持っています。その特定の要素へのポインタを作成したので、毎回長いパスを入力する必要はありませんが、共有オブジェクトではなく、共有オブジェクトのコピーを変更しているだけかもしれないと心配していますオブジェクト自体。
コードは次のとおりです。
これは有効ですか、それとも単にコピーを変更するだけですか?