为什么要使用多线程? 优势 发挥多核处理器性能 建模的简单性 如果在程序中只包含一种类型的任务,那么比包含多种不同类型任务的程序要更易于编写,错误更少,也更容易测试。 如果为模型中每种类型的任务都分配一个专门的线程,那边可以形成一种串行执行的假象,并将程序的执行逻辑与调度机制的细节,交替执行的操作,异步I/O以及资源等待等问题分离开。 异步的简单性 响应更灵敏的用户界面 风险 数据安全性问题(竞态条件)活跃性问题(死锁、活锁、饥饿)性能问题(线程间的切换)