ja oglądałem (2-letnia) Samouczek wideo na wielowątkowości który stwierdził, że@synchronized vs. NSLock Instance vs. pthread_mutex_t
- NSLock instancja jest 3x szybciej niż przy użyciu @synchronized
- pthread_mutex_t się 2x szybciej niż przykład NSLock (w praktyce 6x szybciej niż @synchronized)
Czy to prawda? Nie znalazłem niczego, co by stwierdziło z autorytetem, że tak jest, ale chciałem sondować niektórych z was na StackOverflow za waszą opinię i być może solidny dowód.
Dzięki!
Chociaż ja już zaakceptowane poprawną odpowiedź, przyszłe widzowie to pytanie znajdzie ten artykuł, aby być pomocne: http://perpendiculo.us/?p=133
Pamiętaj również, że synchronizacja @ jest blokadą rekursywną, w której NSLock nie jest. –
@ RichardJ.RossIII - Sprzeczny punkt. Prawdopodobnie nie jest to znaczące w większości przypadków, ale może stanowić pewną różnicę wydajności - '@ synchronized' powinno być porównywane z NSRecursiveLock. –
A co z pthread_mutex? Jestem bardziej zainteresowany @Synchronized vs. pthread_mutex (dużo czytałem o tych dwóch, odkąd opublikowałem to pytanie). – ArtSabintsev