Lorsque vous examinez du code Objective-C, les propriétés de classe sont souvent définies comme non atomiques. Pourquoi? Cela vous donne-t-il un regain de performance lorsque vous ne travaillez pas avec des threads, ou y a-t-il une autre raison?Propriétés non atomiques du cacao
Répondre
nonatomic
Les accesseurs sont plus rapides car ils n'ont pas besoin de se verrouiller. C'est à peu près tout ce qu'il y a à faire. De l'documentation:
Si vous ne spécifiez pas
nonatomic
, puis dans un environnement compté de référence d'un accesseur synthétisé pour une propriété d'objet utilise un verrou et conserve et autoreleases la valeur la retournée mise en œuvre sera semblable à les éléments suivants:[_internal lock]; // lock using an object-level lock id result = [[value retain] autorelease]; [_internal unlock]; return result;
Si vous spécifiez
nonatomic
, puis un accesseur synthétisé pour une propriété d'objet retourne simplement la valeur directement.
Merci pour cette réponse rapide . Je savais avant comment fonctionnent les propriétés nonatomiques, je ne savais pas l'avantage de les utiliser :-) –
- 1. atomiques à ehcache écrit
- 2. Opérations atomiques portatives UNIX
- 3. Maven: propriétés non substituées
- 4. Comment vérifier les écritures atomiques?
- 5. changement innerHTML du cacao DOMElement
- 6. cacao iphone fetchedResultsTriage du contrôleur
- 7. Motif UnitOfWork et opérations atomiques
- 8. Délétions atomiques dans les rails
- 9. Qt implémentation des opérations atomiques
- 10. Propriétés de dépendance non statiques
- 11. Compteurs incrémentiels atomiques stockés dans ConcurrentHashMap
- 12. Winforms PropertyGrid - propriétés non modifiables
- 13. Opérations d'écriture de fichiers atomiques (multi-plateforme)
- 14. Enregistrement de CSV dans du cacao
- 15. Contrôle du calendrier pour le cacao tactile
- 16. Créer un pdf en utilisant du cacao?
- 17. Enregistrer des fichiers dans du cacao
- 18. question d'association de fichier cacao
- 19. Redessiner le contrôle du cacao personnalisé lors du changement de propriété
- 20. Utilisation de volatiles sur des variables atomiques
- 21. Opérations atomiques ruby dans un environnement multithread
- 22. Expressions dans les opérateurs atomiques gcc
- 23. MacRuby - Propriétés de CLLocation non accessibles
- 24. JavaScript: propriétés du document
- 25. Timing? - cacao
- 26. Recherche de propriétés CSS non actives
- 27. Recherche de propriétés non mappées dans nhibernate
- 28. Rechercher les propriétés utilisées et non utilisées
- 29. Modifier les propriétés uitablelview dans la sous-classe dans la méthode viewdownload dans le cacao?
- 30. le formatage de cacao
double possible [propriétés Objective-C: atomique vs nonatomic] (http://stackoverflow.com/questions/588866/objective-c-properties-atomic-vs-nonatomic) – bbum