iOS開発探索-マルチスレッド(NSThread、NSOperation、GCD)プログラミングの概要
1376 ワード
一、基本概念
≪プロセス|Process|emdw≫:データ・セットに関する独立した機能を持つプログラムの実行アクティビティ.実行中のアプリケーションとして理解できます.スレッド:プロセス内のエンティティであるプログラム実行フローの最小ユニット.≪同期化|Synchronize|oem_src≫:現在のスレッドでのみ順次実行でき、新しいスレッドは開かれません.≪非同期|Asynchronous|emdw≫:現在のスレッドで複数の新しいスレッド実行を開くことができます.順序に従って実行しないことができます.≪キュー|Queue|emdw≫:スレッド・タスクをロードするキュー構造.同時:スレッド実行は同時に実行できます.シリアル:スレッド実行は、逐次順序付けでのみ実行できます.
メインスレッド:
注意:
二、iOSマルチスレッド比較 NSThread各NSThreadオブジェクトは、真の最も原始的なスレッドであるスレッドに対応する.1)利点:NSThread軽量レベルが最も低く、比較的簡単である.2)欠点:ライフサイクル、スレッド同期、スリープなど、すべてのスレッドアクティビティを手動で管理する. NSOperationがスレッド管理を持つ抽象クラス.1)利点:スレッド周期管理を持参し、操作上自分の論理をより重視し、操作タスク間の依存関係を追加することができる.2)欠点:オブジェクト向けの抽象クラスは、NSInvocationOperationとNSBlockOperationの2つのサブクラスを実装するか、定義したものしか使用できません. GCD Grand Central Dispatch(GCD)は、Appleが開発したマルチコアプログラミングの解決策です.1)利点:CPUマルチコアを活用し、スレッドのライフサイクルを自動的に管理し、最も効率的で、同時トラップを避ける.2)欠点:Cに基づいて実現する. 選択小結1)簡単で安全な選択NSOperationはマルチスレッドを実現すればよい.2)大量の同時データを処理し,性能効率を追求する選択GCD.3)NSThread本人は基本的に小さなテストで使うことを選んだが、もちろんこれに基づいて車輪を作ることもできる.
以上,マルチスレッド(NSThread,NSOperation,GCD)プログラミングの簡単なまとめを行った.参考原文:http://www.tuicool.com/articles/eQjUj2 http://www.cocoachina.com/ios/20160129/15153.html
読者の皆様のご来訪に感謝します.あなたの関心は私の執筆と共有の最大の原動力です.
≪プロセス|Process|emdw≫:データ・セットに関する独立した機能を持つプログラムの実行アクティビティ.実行中のアプリケーションとして理解できます.スレッド:プロセス内のエンティティであるプログラム実行フローの最小ユニット.≪同期化|Synchronize|oem_src≫:現在のスレッドでのみ順次実行でき、新しいスレッドは開かれません.≪非同期|Asynchronous|emdw≫:現在のスレッドで複数の新しいスレッド実行を開くことができます.順序に従って実行しないことができます.≪キュー|Queue|emdw≫:スレッド・タスクをロードするキュー構造.同時:スレッド実行は同時に実行できます.シリアル:スレッド実行は、逐次順序付けでのみ実行できます.
メインスレッド:
iOS , 1 , “ ” “UI ”
:
/ UI
UI ( 、 、 )
注意:
。
。
。
二、iOSマルチスレッド比較
以上,マルチスレッド(NSThread,NSOperation,GCD)プログラミングの簡単なまとめを行った.参考原文:http://www.tuicool.com/articles/eQjUj2 http://www.cocoachina.com/ios/20160129/15153.html
読者の皆様のご来訪に感謝します.あなたの関心は私の執筆と共有の最大の原動力です.