私は、特定のユーザーの特定のアクティビティが競合する可能性のあるスレッドによって踏み込まれていないことを要求するアプリケーションを作成しています。私のユーザデータベース全体がメモリにあり、私はpthread_rwlock_t
をユーザデータ構造に追加することを考えていました。私は約10〜20,000人を超えるユーザーを予想していません。ロック構造のための56バイトで、それはまったくたくさんのRAMではありません。私の質問は、あなたがプロセスで持つことができる実際のrwlockの数には実際的な制限があるということですか?私はロックを得ることができるスレッドの数、または与えられたスレッドがロックカウンタをインクリメントできる回数について話していません。むしろ、根本的なカーネルや他のリソースがあれば、個々のロックを後退させてしまい、枯渇するかもしれません。pthreads rwlocksの実際の制限はありますか?
0
A
答えて
2
これは実装品質の問題です。POSIXでは、リソースの消耗によりrwlockの初期化が失敗することがあります。しかし、一般的なLinuxの実装では、例えば、pthread_rwlock_t
自体のメモリ以外にロック単位のリソースは必要ありません。
関連する問題
- 1. Apacheクラスタの実際の制限はありますか?
- 2. pthreadsによる実際のアクセラレーションがありません
- 3. JVMメモリとCPU使用率の実際的な制限はありますか?
- 4. iOSのメモリマップファイル数には実際的な制限がありますか?
- 5. CPUあたりのスレッドの実際の制限はいくらですか?
- 6. PerlNetの制限はありますか?
- 7. onSaveInstanceStateの制限はありますか?
- 8. beforeRouteLeaveの制限はありますか?
- 9. カレンダーエクステンダーの制限はありますか?
- 10. segueを実行する際に時間制限がありますか?
- 11. アクターメソッドの実行時間には制限がありますか?
- 12. zendフレームワークでは、テーブルデータゲートウェイを使用する際の制限はありますか?
- 13. 並列スレッド(Python)の実行に最大限の制限はありますか?
- 14. マルチアンドロイドデバイスとペア設定する際の制限はありますか?
- 15. デバイスをGCMトピックにマッピングする際の制限事項はありますか?
- 16. 確認コードを取得する際の制限はありますか?
- 17. アプリストアからアプリを販売する際に制限はありますか?
- 18. テキストエリアの実際の制限はいくらですか?
- 19. Liferayサービスビルダー:Webアプリケーションのエンティティの最大数には実際的な制限がありますか?
- 20. iOSの実際のサイズの制限 - 「アプリは100MBのダウンロード制限を超えていますか?
- 21. 1分間に_trackPageviewを呼び出す際に制限はありますか?
- 22. phpメール機能を使用する際に制限はありますか?
- 23. F#見積もりの別の制限はありますか?
- 24. UIWebViewでPDFを開く/ダウンロードする際のページ制限がありますか?
- 25. GoogleのV8エンジンは実際に1プロセスあたり1 VMに制限されていますか?
- 26. 1ページにできるキャンバス要素の数には実際的な制限がありますか?
- 27. LUTに制限があります:無制限の次元で
- 28. textareaは無制限で、制限はありません
- 29. クラウドの制限があります
- 30. Browserifyには何らかの制限がありますか?
"一般的なLinuxの実装では、pthread_rwlock_t自体のメモリ以外のロック単位のリソースは必要ありません。彼らは? pthread_rwlock_tを格納するためのメモリは必要ありません。 rwlockメソッド(例えば、http://osxr.org:8080/glibc/source/nptl/pthread_rwlock_rdlock.c#0030)にfutex syscallを持つlll_futex_waitがあります。ウェイターやウェイターがいるときにフューテックスが資源を必要としないのは本当ですか?ウェイターは、いくつかのリストや他のデータ構造でカーネルに保存する必要があります。 – osgx
@osgx:それはロックごとのリソースではなく、ウェイターごとのリソースです。 – caf
ありがとうございます。この特定のアプリケーションでは、現代のLinux以外のものはほとんど必要ありませんが、リソースが枯渇する可能性があるということを少なくとも知っておくと便利です。他の場所に移植する必要がある場合は、コードにその旨のコメントをたくさん挿入することができます。 – Kean