您好,欢迎光临本网站![请登录][注册会员]  
文件名称: ios多线程开发
  所属分类: iOS
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2012-10-16
  提 供 者: gzg***
 详细说明: 多线程编程指南 ................................................................................................................................................ I 简介 ................................................................................................................................................................... 1 本文档结构............................................................................................................................ 1 第一章 关于多线程编程 ............................................................... ........................................................... 2 1.1 什么是多线程 ............................................................................................................ 2 1.2 线程术语 .................................................................................................................... 3 1.3 多线程的替代方法 .................................................................................................... 3 1.4 线程支持 .................................................................................................................... 5 1.4.1 线程包 ............................................................................................................. 5 1.4.2 Run Loops ....................................................................................................... 6 1.4.3 同步工具 ......................................................................................................... 6 1.4.4 线程间通信 ..................................................................................................... 7 1.5 设计技巧 .................................................................................................................... 8 1.5.1 避免显式创建线程 ......................................................................................... 8 1.5.2 保持你的线程合理的忙 ................................................................................. 9 1.5.3 避免共享数据结构 ......................................................................................... 9 1.5.4 多线程和你的用户界面 ................................................................................. 9 1.5.5 了解线程退出时的行为 ............................................................................... 10 1.5.6 处理异常 ........................................................................................................ 11 1.5.7 干净地中断你的线程 .................................................................................... 11 1.5.8 线程安全的库 ................................................................................................ 11 第二章 线程管理 .................................................................................................................................... 13 2.1 线程成本 .................................................................................................................. 13 2.2 创建一个线程 .......................................................................................................... 14 2.2.1 使用NSThread.............................................................................................. 14 2.2.2 使用 POSIX的多线程 ................................................................................. 16 2.2.3 使用NSObject 来生成一个线程 ................................................................. 18 2.2.4 使用其他线程技术 ....................................................................................... 18 2.2.5 在 Cocoa程序上面使用 POSIX 线程 ......................................................... 19 2.3 配置线程属性 .......................................................................................................... 19 2.3.1 配置线程的堆栈大小 ................................................................................... 20 2.3.2 配置线程本地存储 ....................................................................................... 20 2.4 编写你线程的主体入口点 ...................................................................................... 22 2.4.1 创建一个自动释放池(Autorelease Pool) ................................................ 22 2.4.2 设置异常处理 ............................................................................................... 23 2.4.3 设置一个 Run Loop ...................................................................................... 23 2.5 中断线程 .................................................................................................................. 24 第三章 RUN LOOPS ............................................................................................................................. 26 3.1 RUN LOOP剖析 ........................................................................................................ 26 3.1.1 Run Loop 模式 ............................................................................................. 27 3.1.2 输入源 ........................................................................................................... 28 3.2 何时使用 RUN LOOP ................................................................................................ 33 3.3 使用 RUN LOOP对象 ............................................................................................... 34 3.3.1 获得 Run Loop 对象 ..................................................................................... 34 3.3.2 配置 Run Loop .............................................................................................. 34 3.3.3 启动 Run Loop .............................................................................................. 36 3.3.4 退出 Run Loop .............................................................................................. 38 3.3.5 线程安全和 Run Loop对象 ......................................................................... 38 3.4 配置 RUN LOOP 的源 ............................................................................................... 39 3.4.1 定义自定义输入源 ....................................................................................... 39 3.4.2 配置定时源 ................................................................................................... 45 3.4.3 配置基于端口的输入源 ............................................................................... 46 第四章 线程同步 .................................................................................................................................... 57 4.1 同步工具 .................................................................................................................. 57 4.1.1 原子操作 ....................................................................................................... 57 4.1.2 内存屏障和 Volatile 变量 ........................................................................... 58 4.1.3 锁 ................................................................................................................... 58 4.1.4 条件 ............................................................................................................... 59 4.1.5 执行 Selector例程 ........................................................................................ 60 4.2 同步的成本和性能 .................................................................................................. 60 4.3 线程安全和信号量 .................................................................................................. 61 4.4 线程安全设计的技巧 .............................................................................................. 62 4.4.1 完全避免同步 ............................................................................................... 62 4.4.2 了解同步的限制 ........................................................................................... 62 4.4.3 注意对代码正确性的威胁 ........................................................................... 62 4.4.4 当心死锁(Deadlocks)和活锁(Livelocks) ................................................ 64 4.4.5 正确使用Volatile变量 ................................................................................. 65 4.5 使用原子操作 .......................................................................................................... 65 4.6 使用锁 ...................................................................................................................... 67 4.6.1 使用 POSIX互斥锁 ..................................................................................... 68 4.6.2 使用NSLock 类 ............................................................................................ 68 4.6.3 使用@synchronized 指令 ............................................................................. 69 4.6.4 使用其他 Cocoa 锁 ....................................................................................... 70 4.7 使用条件 .................................................................................................................. 73 4.7.1 使用NSCondition 类 .................................................................................... 73 4.7.2 使用 POSIX条件 ......................................................................................... 74 附录 A:线程安全总结 ................................................................................................................................. 76 COCOA ................................................................................................................................. 76 基础框架(Fondation Framework)的线程安全 ........................................................ 76 Application Kit框架的线程安全 .................................................................................. 82 Core Data 框架 .............................................................................................................. 84 CORE FOUNDATION(核心框架) ...................................................................................... 84 术语表 ............................................................................................................................................................. 86 结束语 ............................................................................................................................................................. 88 推荐资源 ......................................................................................................................................................... 89 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: IOS 开发 线程 thread 教程
 输入关键字,在本站1000多万海量源码库中尽情搜索: