> On Oct 7, 2016, at 1:14 AM, Quincey Morris > <quinceymor...@rivergatesoftware.com> wrote: > > One straightforward way is to use dispatch_semaphore. IIRC it’s lightweight > unless it blocks (that is, unless its count is zero when you wait), so it’s > good for this situation where actual contention is rare (assuming actual > contention is rare).
IMO dispatch_semaphore is overkill for this; it’s not just an atomic counter, it’s also got blocking behaviors for use in e.g. managing a pool of resources. I’ll bet that most Mac/iOS programmers don’t know about it, let alone people coming from other platforms. The simplest solution is just to use an atomic operation. Even if there isn’t a standard atomic API in C (as there is in C++), anyone reading the code is probably going to understand what OSAtomicIncrement32() does just from its name. —Jens _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com