pthread_rwlock_unlock関数のマニュアルページを見ているうちに、呼び出しスレッドがrwlockの所有権を持っていないとfuncがEPERMを返すことに気付きました。多くの読者がいる場合にpthread_rwlockを使用する効率
複数のスレッドがロックを取得できるため、特定のrwlockの所有者IDを格納するためのリンクや配列などのデータ構造が必要です。ここで
は、質問が来る:
は、rwlockが読み取り操作がはるかに頻繁に書き込み操作よりも時の効率を達成するように設計されていますが、異なる多数のスレッドが、私が呼び出すたびに読み込みロックをそこに着いている場合pthread_rwlock_unlock()を呼び出すと、呼び出し元のスレッドが有効な所有者であることを気象情報から見つけるのに時間がかかります。このシナリオの時間複雑...
おかげでたくさんの男:)実装はEPERMを返すために必要とされないことを
はい、ありがとうございます。とダック、私はpthread_rwlock_unlock()のコードを読んで、そのようなチェックはありませんがカウンタだけです。その場合、時間複雑度はO(1)である。 – Hmm