@synchronized() ディレクティブ

公開日: : 最終更新日:2013/11/10 Objective-C

記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。


sonson
『selectedIndexがメンバ変数なら,lockかけないとマズいですね.
@synchronized{}でくくれば,自動的にロックされるはずです.多分.』

sonson++

@synchronized() ディレクティブは、コードの一部を 1 つのスレッドで使用するようにロックします。スレッドが保護コードを抜け出すまで、つまり、@synchronized() ブロックの最後の文を通過するまで、他のスレッドはブロックされます。

Objective-C プログラミング言語:例外処理とスレッド同期


Account *account = [Account accountFromString:[accountField stringValue]];
double deposit_amount = [amountField doubleValue];
double balance;
// セマフォを取得する。
id accountSemaphore = [Account semaphore];
@synchronized(accountSemaphore) {
// クリティカルコード。
balance = [account balance] + deposit_amount;
[account setBalance:balance];
}
[balanceField setDoubleValue:balance]

関連記事

サンフランシスコのピア39にあるチャウダーズでクラムチャウダーを食す!

lolipop アップルの開発者向けイベント「WWDC2014」

ミスドのカルピスドーナツとカルピスポンデリングを食べてみた!

ミスドで期間限定のカルピスコラボ商品「カルピスドーナツ」と「カルピ

十三カレー計画で牛すじカレーネギのせを食す!(大阪・十三)

「iPhoneアプリ開発キャンプ@大阪」のランチで、十三カレー計画

大阪・難波の加寿屋 法善寺でかすうどんを食す。ランチタイムはおにぎり2個まで無料!

大阪・難波の加寿屋 法善寺 (かすうどん KASUYA)で、かす

ライブドアブログで運営していた「あきお商店」を「卵は世界である」に改名しました

少し前からライブドアブログで「あきお商店」というブログをやって

→もっと見る

PAGE TOP ↑