私は* .soライブラリを持っています。これはdlopenを使ってシステムライブラリからいくつかの情報を取得します。ライブラリは複数のアプリケーションで同時に使用できます。 多分それは愚かな質問ですが、dlopenを実行する前に私はライブラリーを集めるべきですか?私はどこでも直接答えを見つけられませんでした。dlopenの前にロックする必要がありますか?
0
A
答えて
1
コメントに記載されているのと同様に、あなたが変更できる共有リソースにアクセスしていない限り、セマフォ(群)は必要ありません。 (IE。共有メモリにアクセスし、そのデータの並行性を確保する必要がある)。方法ダイナミックローディング...)(dlopenのは...のメモリ空間に行われているためGOT/PLTに働き、再配置および修正を結ぶ方法の
作品(dlopenを呼び出すプロセス)は、共有オブジェクトがマップされている場所ではありません。あなたが突然:)すっごくあなたに群れのための必要性を全く変えないそれらを心配する必要はありません、読み取り専用メモリにある共有オブジェクトを持つ
!
注:共有オブジェクトが他の共有オブジェクトにリンクしているため、最初の共有オブジェクトのGOTをdlopen()でロードされているライブラリの再配置で更新/ modする必要があります。プロセス固有のメモリ空間のar/wセグメントに、共有オブジェクトのar/wセグメントには格納されません。
関連する問題
- 1. リストをロックする前後に再確認する必要がありますか?
- 2. Outlook.MailItem.Sendの前にイベントをキャッチする必要があります
- 3. C#のロックとミューテックスを一緒に使用する必要があります
- 4. void 'の前に'; 'を付ける必要があります。エラー?
- 5. マルチスレッドでローカル変数をロックする必要がありますか?
- 6. ロックはグローバルとして宣言する必要がありますか?
- 7. なぜC#でロックしてオブジェクト化する必要がありますか?
- 8. トランザクション内でActiveRecordロックを実行する必要がありますか?
- 9. PATHでnvmはrvmの前にある必要がありますか?
- 10. プロダクションビルドの "ステージ"の前にSBTを "クリーン"にする必要がありますか?
- 11. SQLConnectionが破棄される前にClose()する必要がありますか?
- 12. 更新ジョブ中にSQLテーブルを「ロック」する必要はありますか?
- 13. MultiThreadingの例 - 私は辞書をロックする必要があります
- 14. typescriptをes6にコンパイルする必要がありますか?es5にコンパイルする必要があります
- 15. 依存するプライベートメソッドをロックする必要はありますか?
- 16. バインドする前にバインドを解除する必要がありますか?
- 17. DBから出力する前に検証する必要があります
- 18. Rでマージする前にデータをソートする必要がありますか?
- 19. Sitecore「編集できるようにする前にこのアイテムをロックする必要があります」が見つかりません
- 20. AS3:addChildの前にChildを削除する必要がありますか?
- 21. POSタギングの前にストップワードフィルタリングを使用する必要がありますか?
- 22. 範囲の前にRLockマップする必要がありますか?
- 23. なぜwait()の前にlock()する必要がありますか?
- 24. コンポーネントタイプの名前は、カスタムコンポーネントで一意である必要がありますか?
- 25. ASP.NETコアでシングルトンをロックする必要はありますか?ここ
- 26. デプロイメント前にASP.NET 2.0サイトをプリコンパイルする必要がありますか?
- 27. スウィフトでラベルを前後に送信する必要がありますか?
- 28. PHPのグローバル関数に名前を付ける必要がありますか?
- 29. response.endの前に接続を閉じる必要がありますか?
- 30. Git(LFS):ロックのサポートとは何ですか?それを有効にする必要がありますか?
いいえ、それはライブラリをロードする際にすべてのプログラムは、独自のメモリ・スタックを使用しています。ロックは、同じ共有ライブラリを使用している複数のプログラムが存在しない場合には存在しない* shared resources *の場合のみです。 –
ファイルを変更する人がいない場合は、そのファイルを群に入れる必要はありません。 –
私は、ファイルシステム上のファイル(ライブラリ)への同時アクセスがさらに心配です。 – incogn1to