UIImage imageNamed: ってスレッドセーフ?

UIKitはほとんどスレッドセーフじゃなくてよ、とか言ってないでAPIごとに白黒付けてよApple様!
5
sakamoto.kazuki @splhack

UIImage imageNamed:ってメインスレッド以外から呼んでも安全? ドキュメントに書いてないってことは他のUIKit同様安全ではないのかなとか思ってますが。

2011-02-24 06:59:07
sakamoto.kazuki @splhack

マルチスレッド下でUIImage imageNamed:使うと、キャッシュ用のNSMutableDictionaryとかが壊れるんじゃね、と。 http://bit.ly/hP9N6S たぶん正しい。

2011-02-24 08:45:28
sakamoto.kazuki @splhack

"Asynchronous UIImage from web" http://bit.ly/hJ0h6B でもUIImage imageWithData:で結構な時間ブロックされそう。

2011-02-24 08:47:28
sakamoto.kazuki @splhack

cocos2dでもasyncのとき、別スレッドでUIImage initWithContentsOfFile:呼んでるなぁ。うーん。平気なんだろうけど。どっかにthreadsafeです、って書いてないかなぁ。

2011-02-24 08:58:01
sakamoto.kazuki @splhack

そもそもthread safeと、main threadから呼ぶべし、は意味違うわけで。単にthread safeじゃないなら、そのアプリケーション内で排他制御してUIKit使えばいいわけで。

2011-02-24 09:05:41
sakamoto.kazuki @splhack

"For the most part, UIKit classes should be used only from an application’s main thread." http://bit.ly/ieyTem て書いてあったりしますが。

2011-02-24 09:07:16
sakamoto.kazuki @splhack

UIImage imageNamed: はthread safeじゃなくて、UIImage imageWithContentsOfFile: はthread safeらしい。 http://bit.ly/i4Tbgp ドキュメントに書いてよ!

2011-02-24 09:12:26