Re: How to count Atoms
Re: How to count Atoms
- Subject: Re: How to count Atoms
- From: Jens Alfke <email@hidden>
- Date: Fri, 07 Oct 2016 09:24:32 -0700
> On Oct 7, 2016, at 1:14 AM, Quincey Morris <email@hidden> 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 (email@hidden)
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:
This email sent to email@hidden