大学院のクラスでは、スレッドでの作業を行うためにセマフォを使用しなければなりませんでした。sem_init(...):psharedパラメータとは何ですか?
sem_init
を他のsem_ *プロシージャとともに使用するように指示されましたが、これらのsem_ *メソッドの詳細についてはほとんど情報がありませんでした。 sem_init
の
プロトタイプ(とヘッダファイル)the followingです:
#include <semaphore.h>
int sem_init(sem_t *sem, int pshared, unsigned int value);
が、私はpsharedの値がために使用されているものを理解していません。 opengroup.orgによれば:pshared
引数が非ゼロ 値を有する
場合、セマフォはプロセス間 を共有しています。この場合には、セマフォ
sem
にアクセスすることができる任意 プロセスはsem_wait()
、sem_trywait()
、sem_post()
、 とsem_destroy()
動作を実行するためsem
を使用することができます。
私は1,2,10,25,50000などの違いを理解していないと思いますが、値が0の場合はセマフォが共有されていないと思います。 (しかし、そのポイントは何ですか?)
このpshared
パラメータを適切に使用するにはどうすればよいですか?
恐ろしい答え、説明をありがとう。 –
あなたは大歓迎です。お褒めの言葉をありがとうございます :)。 – quark
このバージョンをGLIBCに所属していると呼ぶのはPCではありません。それはPOSIX.1-2001です。 –