2

pthread_create /( key_ではない) を使用する場合、スレッドごとに値を使用する場合は、引数をスレッドに渡すことができます。静的ストレージを使用する場合、mutex を使用します。では、pthread_key_create を使用するとはどういうことでしょうか? 例を挙げて、なぜそれが生まれたのかを強調します(アプリケーションとその必要性)? シングル スレッド アプリケーションの移行に役立つと聞きましたが、まだミューテックスを使用しています。それで、ポイントは何ですか?

ありがとう!

4

1 に答える 1

3

pthread_key_createスレッドローカルストレージの一部の一意の識別子を作成するために使用されます。

各スレッドは、キーごとに異なる値を格納できます。これは、最初にグローバルを使用するコードを移行するときに役立ちますが、実行の各スレッドに独自の独立したバージョンのグローバル値を持たせたい場合に役立ちます。グローバルの代わりにスレッドローカルストレージを使用できます。

現在のスレッドに属するスレッドローカルデータにアクセスするときに、ミューテックスを使用する必要はありません。

于 2013-01-09T13:21:46.660 に答える