2012-05-12 2 views
1

のように、レスポンスの高いUIがない場合は、主にマルチスレッドを使用する必要がありますか?それとも他の考慮事項がありますか? 私のアプリケーションでにマルチスレッドが必要かどうかはどうやって分かりますか?あなたが完了するまでに長い時間がかかるだろうprocessであなたUIに影響を与えたくないときiOS開発Threadsにおける基本的iOS開発でマルチスレッドを使用するタイミング重い処理の横にある

答えて

-2

IOSのスレッドを使用すると、エンドによって自由hussleとのシームレスな体験を確保することですユーザー。 解析やデータ検索など、ネットワーク経由でリソースを抽出し、アプリケーションがメインスレッドとカスタムスレッドのWeb操作で実行されるため、Uiに影響を与えたくないときはいつでもスレッドを実装できます。

複数のアニメーションを同じオブジェクトに同時に持たせるときに、同時操作や同時実行が必要な場合にスレッドを使用することができます。必要なシナリオが非常に多いスレッディング。

あなたはConcurrency Programming Guide By Apple

Thread Management

を読むことができるが、それはスレッドでメモリ割り当てと大規模な操作を必要とするようスレッドがアプリケーションにオーバーヘッドかもしれそれができない場合にそれを使用し、パフォーマンスに影響を与える可能性があります避けてください。

NSThread、NSOperationsを使用してスレッドを作成できます.GCは廃止されました。

+5

GCDは間違いなく**推奨されていません**!何かがあれば、ブロックをサポートするGCDまたはNSOperation/OperationQueueクラスを優先してNSThreadsを避けるべきです。 – UIAdam

+0

答えを編集してくださいGCDはもう非難されていません – tiguero

0

が使用されています。たとえば、connectionをxml、json、画像データなどを解析するときには、ユーザinteractionを停止したくない場合は、threadsを使用できます。

NSThreadを使用してスレッドを開始できます。スレッドを使用する前に、心の中で持っている

物事 -

  • あなたがスレッドでグラフィカルな変更を行うべきではありません。もしあなたが
    をスレッドに入れる必要があれば、main threadでしかできません。
  • thread timer実行前に完了する可能性があるので、threadセカンダリではNSTimerを使用しないでください。タイマーが実行されない可能性があります。

いつでも長くprocessを実行する場合は、threadを使用できます。

+0

@trinithis - そうではありません。 – jrturton

+0

そうですね、それは私のところでたくさんの酒と呼ばれています。しかたがない。 –

0

iosのスレッドの重要なアプリケーションの1つは、ネットワーク通信中です。アプリケーションがサーバーと通信していて、UR UIでビジー状態を表示する場合は、バックグラウンドでネットワーク通信を行うためにスレッドを作成する必要があります糸。 IOS 5では

、あなたは同じ機能を実行する代わりに、スレッドのGCD(グランドセントラル派遣)を選ぶことができます。..

関連する問題