2011-06-27 25 views

答えて

10

使用NSThreadあなたは計算作業の単位は、必ずしもどちらかの他のユニットが終了するのを待っている、または他の計算作業を保持せずに行って欲しいです。

ほとんどの作業をスレッドに入れることができます。

良い例は、Webサーバーなどからデータをダウンロードするスレッドを設定するネットワーク要求です。あなたのスレッドは、作業が完了すると "ハンドラ"機能を起動します。ハンドラはダウンロードしたデータを処理します。たとえば、WebサービスからのXMLデータの解析です。

この例では、アプリケーションがネットワーク経由でデータをダウンロードして処理する間、アプリケーション全体がロックアップしないようにするため、スレッドを使用します。 NSThreadインスタンスは、この作業単位を独自の小さな「スペース」に入れます。これにより、より大きなアプリが引き続きユーザーと対話することができます。

ここでの例ではなく iOSプラットフォームでスレッドを使用するには、UIの更新が必要です(UIControlウィジェットのいずれかの状態を変更するなど)。すべてのUI更新はメインスレッドで行われます。 UIウィジェットを使用して独自のスレッドを使用すると、その動作は予測不可能であり、しばしば機能しません。

関連する問題