インスタンスの遅延実行をスレッドセーフに行う為の考察。面白い。
次の4つの方法が紹介されている。
- @synchronized
- dispatch_semaphore_*
- dispatch_once
- dispatch_sync
dispatch_once はグローバル/スタティックな変数を使用する必要があるのでインスタンス単位で使えない。1番すっきりしているのは最後の dispatch_sync。
Published on 2012年3月1日木曜日 Leave your thoughts »
Tweet | |