On Fri, Oct 7, 2016, at 11:24 AM, Jens Alfke wrote: > > > 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.
OSAtomic.h (except for OSAtomicQueue) is deprecated. Don’t use OSAtomicIncrement32 in new code. --Kyle Sluder > > —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