计算机加入操作系统来实现多个程序的执行,主要的原因如下:
- 资源利用率
- 公平性,分配时间片段让每个程序都有机会运行
- 便利性,编写多个程序计算多个任务,每个程序间相互通信,这比编写一个程序来计算所有的任务更加容易实现
线程的优势
线程可以有效的降低程序的开发和维护成本,同时提升复杂程序的性能。
- 发挥计算机多处理器的强大能力
- 建模的简单性,可以将复杂并且异步的工作流进一步分解为一组简单并且同步的工作流,每个工作流在一个单独的线程运行,并且在特定的同步位置进行交互。
- 异步事件的简化处理
- 响应更灵敏的用户界面
线程的风险
- 安全性
- 活跃性问题,活跃性关注“某件正确的事情最终会发生”,如果出现了死锁,那么就出现了活跃性问题
- 性能问题