C apis можно найти в sys/semaphore.h
.используйте их в вашей оболочке / реализации objc.
этот базовый пример является первым результатом, когда 'sem_trywait example' гуглится.он показывает вам, как вы можете использовать эти apis.
, тогда минимальный интерфейс примет такую форму:
@interface MONSemaphore : NSObject
{
sem_t semaphore;
}
- (int)close;
- (int)destroy;
/* .. and the rest of the interface you wrap and make public here .. */
@end
, но, вероятно, вы также захотите, чтобы объект абстрагировал init и destructподпрограммы от клиента.