第一章 简介
并发简史
- 裸机只能串行的执行一个程序,无法充分发挥计算机的资源(比如cpu)
- 引入操作系统来分配 计算机资源并且实现多个程序同时执行
- 线程资料
- 会共享进程范围内的的资源,比如栈与局部变量
- 优势:充分发挥处理器的能力、异步事件的处理(来一个请求启动一个线程去处理比如tomcat)、响应更灵敏的用户界面。
- 风险
- 线程安全问题如
public class UnsaFEsequence{
prvate int value;
public int getNext(){
return value++;//不同的线程会获取到相同的值
}
}
- 活跃性问题 某件正确的事情最终会发生(比如死循环)
- 性能问题 比如线程调度器挂起某个线程产生上下问切换,使cpu更多时间花在调度上面而非程序执行上面。