スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[iOS]NSRunLoopはNSThreadで呼ぶな!

と、アップル様がおっしゃっております。

Warning:
The NSRunLoop class is generally not considered to be thread-safe and its methods should only be called within the context of the current thread. You should never try to call the methods of an NSRunLoop object running in a different thread, as doing so might cause unexpected results.



英語苦手だけど訳してみたのが下記。

警告:
NSRunLoopは一般的に(※1)スレッドセーフではなく、親スレッドからただ呼ばれるだけであるべきです。
別スレッドでNSRunLoopを呼び出すべきではありません、それが予期しない結果を引き起こすかもしれません。


※1:同時並行処理(複数スレッド処理)を行っても問題が無いこと



訳は大体あってると思う(自信はない)。

非同期の処理を同期的に行う際にいろいろ調べた結果出てきました。

[BPS Programmer's BLOG]
NSURLConnectionの同期通信でタイムアウトを設定したい(2)


この人の殴り書きでは、NSThread内でNSRunLoopして待っていたけど実行してみたら全然素通りされるので2日くらい「なんでだろ?」と考えてた。

参考URL:
[iOS Developer Library]
NSRunLoop Class Reference


追記:
でもうまく使えば動くんじゃないかと思う。
ただNSRunLoopを呼ぶだけでは動かないっぽい。
どうすればいいんだろう?
このエントリーをはてなブックマークに追加
Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。