- 进程具有两个基本属性:使得进程成为并发执行的基本单位
- 是一个拥有资源的独立单位
- 它可独立分配虚地址空间、主存和其他资源
- 是一个可独立调度和分派的基本单位
- 是一个拥有资源的独立单位
- 引入线程的目的是简化进程间的通信,以小的开销来提高进程内的并发程度
- 线程的引入
- 进程:资源分配单位(存储器、文件)和CPU调度(分派)单位。又称为"任务(task)"
- 线程:作为CPU调度单位,而进程只作为其他资源分配单位。
- 只拥有必不可少的资源,如:线程状态、程序计数器、寄存器上下文和栈
- 同样具有就绪、阻塞和执行三种基本状态
- 与同属一个进程的其它线程共享进程拥有的全部资源
- 可并发执行
- 线程的优点
- 减少并发执行时间和空间开销(线程的创建、退出和调度),因此容许在系统中建立更多的线程来提高并发程度
- 线程的创建时间比进程短
- 线程的终止时间比进程短
- 同进程内线程切换时间比进程短
- 同进程线程间可以直接进行而不通过内核进行通信
- Thread
- A thread is a basic unit of CPU utilization, consisting of
-
- PC
- Register set
- Stack space
- A thread shares with its peer threads its
-
- Coded section
- Data section
- OS resources
- A traditional or heavy-weight process is equal to a task with one thread
- 进程和线程的比较
- 并发性
- 拥有资源:进程是拥有资源的独立单位
- 系统开销
- 地址空间和其他资源
- 通信:进程间通信IPC,线程间可以直接读写进程数据段来进行通信
- 调度
- Benefits
- Responsiveness
- Resource sharing
- Economy
- Utilization of MP architecture
- 用核线程和内核线程
- 调度方式
-
- 用户线程不需要OS的支持
- 调度单位
-
- 用核线程的调度以进程为单位进行,在采用时间片轮转调度算法时,每个进程分配相同的时间片。对内核级线程,每个线程分配的时间片不同。(优先级?)
- Thread pool
- Reasons
-
- Avoid creation and termination overhead, so that it is faster to serve a request
- Put bound on number of threads, thus limit CPU and memory usage
Chapter 5 Thread
最新推荐文章于 2024-07-25 14:00:51 发布