私は、pthread およびセマフォ ライブラリを使用するコードに取り組んでいます。このsem_init
関数は私の Ubuntu マシンでは正常に動作しますが、OS X ではsem_init
まったく機能しません。ライブラリに問題があるのでしょうか、それとも別の方法があるのでしょうか。これは私がテストに使用しているコードです。
sem_t sem1;
sem_t sem2;
sem_t sem3;
sem_t sem4;
sem_t sem5;
sem_t sem6;
sem_init(&sem1, 1, 1);
sem_init(&sem2, 1, 2);
sem_init(&sem3, 1, 3);
sem_init(&sem4, 1, 4);
sem_init(&sem5, 1, 5);
sem_init(&sem6, 1, 6);
値はランダムな数値のように見え、sem_init
呼び出し後も変化しません。
ベストアンサー1
名前なしセマフォはサポートされていないため、名前付きセマフォを使用する必要があります。
名前なしセマフォの代わりに名前付きセマフォを使用するには、sem_open
の代わりにを使用しsem_init
、の代わりにsem_close
と を使用します。sem_unlink
sem_destroy