1.1并发简史
操作系统多进程出现的原因
资源利用率:一个程序等待某个外部操作的时候运行另一个程序
公平性:粗粒度的时间分片共享计算机资源
便利性:多个程序执行多个任务
促使进程出现的因素同样也促使着线程的出现
线程允许同一个进程中同时存在多条程序控制流。线程共享进程范围内的资源,例如内存句柄、文件句柄
每个线程有各自的程序计数器、栈以及局部变量
线程也称作轻量级进程
1.2线程的优势
1.2.1发挥多处理的的强大能力
操作系统调度单位是线程,如果一个程序只有一个线程,那么只能在一个处理器上运行
多线程程序可以再多个处理器上运行,如果设计正确,可以通过处理器资源利用率来提升系统的吞吐率
多线程有助于单处理器系统上获得更高的吞吐率
1.2.2建模的简单性
可以将复杂并且异步的工作流进一步分解为一组简单并且同步的工作流,每个工作流在单独的线程中运行,并在特定的同步位置进行交互
1.2.3异步事件的简化处理
1.2.4响应更灵敏的用户界面
1.3线程带来的风险
1.3.1安全性问题
永远不发生糟糕的事情
1.3.2活跃性问题
某件正确的事情最终会发生
1.3.3性能问题
1.4线程无处不在
Timer
Servlet和JSP
RMI
Swing和AWT