APP 开发者社区 www.dApps.net
www.dApps.net
www.dApps.net
www.dApps.net
目录
Threading Programming Guide
多线程编程指南 ................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
I
I
I
I
简介 ...................................................................................................................................................................
...................................................................................................................................................................
...................................................................................................................................................................
................................................................................................................................................................... 1
1
1
1
本文档结构 ............................................................................................................................ 1
第一章 关于多线程编程 ..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
.......................................................................................................................... 2
2
2
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
13
13
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