为什么要使用并发? 提高资源利用率,程序执行的公平性,编写程序便利性。 线程的优势? 发挥多处理器的强大能力;建模简单性,降低程序开发和维护成本;异步事件简化处理处理;响应更灵敏的用户界面。 线程带来的风险? 安全性问题:多个线程执行顺序是非常复杂的,如果实现不当很可能带来安全性问题;活跃性问题:如死锁,饥饿以及活锁等。性能问题:频繁的线程切换和调度将会导致更多的CPU资源消耗在这上面。