内容简介
1 多线程基础介绍
多线程标准介绍
多线程的优点
改进程序结构
理解多线程的基本概念
使用64位体系结构
2 基本的线程程序设计
线程库
创建一个缺省的线程
3 线程属性
属性
4 在程序中使用同步对象
互斥锁的属性
使用互斥锁
条件变量属性
使用条件变量
信号量
读写锁属性
使用读写锁
跨进程的同步
不需线程库支持的进程间锁定
各种原语的比较
5 操作系统编程
进程创建和复制
创建进程——exec(2)和exit(2)
定时器,报警和仿真定时
非局部跳转语句——setjmp(3C)和longjmp(3C)
资源限制
LWPs和调度类型
扩展传统的信号
输入/输出问题
线程安全性
6 接口函数的安全性
接口的多线程安全性级别
异步信号安全函数
函数库的多线程安全级别
7 编译和调试
编译多线程程序
调试多线程程序
8 增强多线程程序性能的工具
示例:在Mandelbrot(分形)程序中使用线程机制
示例:用LockLint检查程序
示例:用LoopTool将循环并行化
如何找到更详细的资料
9 用Solaris线程库编程
比较POSIX线程库和Solaris线程库的API
Solaris线程库特有的函数
同样的同步函数——读写锁
同样的Solaris线程库函数
同样的同步函数——互斥锁
同样的同步函数——条件变量
同样的同步函数——信号量
进程间同步
关于fork()函数和Solaris线程的特殊问题
10 程序设计原则
重新考虑全局变量
线程间的同步
防止死锁
一些基本的原则
创建和使用线程
利用多处理器
总结
A 例子程序——多线程的grep
tgrep简介
B Solaris多线程的例子:barrier.C
C 多线程安全性级别:库接口