タグ

Objective-Cとatomicに関するbm0329のブックマーク (2)

  • Objective-C の atomicity について調べてみる

    Objective-C のプロパティには、属性として atomic や nonatomic というキーワードが指定できるようになっています。 これらを省略した場合は atomic が指定されたのと同じで、この "atomic" という単語を直訳すると "原子性" とか "不可分" とか、そういった意味合いになります。 このキーワードを知った当初には、次のような意味合いがあると認識していたのですけど、どうやらちょっと思っていたのと違うようです。 atomic は、マルチスレッド環境でスレッドセーフを実現する、らしい。 atomic プロパティを @synthesize で実装すると、setter や getter を @synchronized (self) で括ったのと同じになる、らしい。 それならつまり、単一スレッドでの使用を前提としないクラスを作成するときは、プロパティは atomic

  • iPhoneプログラミング講義のフォローアップ資料の翻訳2 | Nosue's log

    スタンフォード大学がiPhoneアプリ開発の講義のフォローアップ資料の翻訳シリーズの第2弾です。今回は第4回と第5回の資料を紹介します。 CS 139P iPhone Application Programming Follow Up Notes – Lectures 4 and 5 1.propertyの説明をもう一度 いくつかの高度な点をまとめます。 (assign) vs (copy) vs (retain) どういう風に(assign)、(copy)、(retain)を使い分けるのかについてたくさんの質問が寄せられました。@synthesizeで生成されるgetterは単純にプロパティの値を返すだけです。@synthesizeで生成されるsetterは次のようにはたらきます。 (assign)= 単純に値を代入します。参照カウンタは増えません。 (copy)= 新しい値を元にオ

  • 1