简介
操作系统引进了进程和线程的概念来实现并发,进程是资源最小分配单位,线程是执行任务的最小分配单位。进程间使用套接字、信号处理器、共享内存、信号量以及文件等进行通信。
使用线程可以带来很多好处:
- 充分利用多处理器的优势(主要是异步IO)
- 建模的简单性(可以使用多种模型:点对点、订阅、生产者消费者等)
- 异步事件的简化处理
- 用户响应速度加快
但是使用多线程也带来了一定的挑战:
- 安全性问题(异步的指令执行顺序带来的问题)
- 活跃性问题(有些线程可能会饿死、死锁、活锁等)
- 性能问题(切换开销、资源占用、服务时间过长等问题)