私は、pthreadとsemaphoreのライブラリを使用するいくつかのコードに取り組んでいます。 sem_init関数は私のubuntuマシンで正常に動作しますが、OS Xではsem_init関数は全く効果がありません。ライブラリに何か問題がありますか、それを行う別の方法がありますか?これはテストに使用しているコードです。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コールの後で変更されません。
'sem_init'の戻り値をテストする必要があります。 – bfontaine
少なくとも、Mac OS XのYosemite(10.10)では、 'sem_init()'、 'sem_destroy()'、 'sem_getvalue()'は '非推奨 'とマークされ、結果としてコンパイラの警告を生成することに注意してください。 –
@JonathanLeffler Oh、no。 Mac OS X Yosemite(10.10.1)では動作しません。 – vipygd