Le 14 mai 2012 à 14:34, McLaughlin, Michael P. a écrit :

> This past weekend I tried compiling my Snow Leopard Cocoa app in Lion (Xcode 
> 4.3) just to make sure all was OK.  I got two warnings stating that 
> MPProcessorsScheduled and MPCreateCriticalRegion were deprecated in Lion but 
> the relevant Lion docs did not say what they should to be replaced with.
> 
> I use MPProcessorsScheduled to create an equal number of parallel threads 
> (for a long computation) and MPCreateCriticalRegion to serialize the core of 
> a pseudo-random-number generator.
> 
> Two questions:
> 
>  1.  What should I replace these with?
>  2.  Will that replacement also work in Snow Leopard and, if not, what 
> if-criterion should I use to make the code work in both places?
> 
> Thanks very much for any help.
> 
> --
> Michael P. McLaughlin

MPProcessorsScheduled() should not be used at all, and you should simply run 
your task using libdispatch (that is available on 10.6) and let it taking care 
of the number of thread to create.
You can also use NSOperationQueue which is a high level wrapper on libdispatch.

If you really want to now the count of processor, you can use [NSProcessInfo 
activeProcessorCount] method or sysctl("hw.activecpu").

Critical section should be replaced by pthread mutex (that are available from 
OS X 10.0), or NSLock, or any other locking primitive.

-- Jean-Daniel





_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to