2009-04-26 14 views
1

デフォルトのアトミックプロパティではなく、Objective-C(デスクトップまたはiPhoneプラットフォーム上)で非原子的プロパティを使用する必要がある場合は、経験則がありますか?私はその違いを理解しています - 原子性は性能を犠牲にして全体の価値を保証しますが、私が見ているほとんどの例は非原子的な性質を使用しています(そして不安定でもありません)ので、原子性が必要な状況とそうでない状況があります。@propertyアトミシティの経験則は?

アトミックプロパティを使用する必要があるとき、および非アトミックなものを優先する必要があるときには、誰でも簡単なガイドラインを提供できますか?

答えて

1

可能であれば、nonatomicをお勧めします。一般に、これは、アクセスがある種の高位の同期によって保護されている単一のスレッドまたはのプロパティからのみ設定/アクセスされるプロパティを意味します。 atomicプロパティへのアクセスはスレッドの安全性を保証しないことに注意することが重要です。言い換えれば、atomicプロパティの値に依存するアルゴリズムは、システム全体がスレッドセーフであるためには、それ自身スレッドセーフでなければなりません。これを念頭に置いて、システムのスレッドの安全性を維持しながら、プロパティーをnonatomicにすることは可能です。

関連する問題