操作系统学习--线程

来源:互联网 发布:大家都用阿里云做什么 编辑:程序博客网 时间:2024/04/30 14:55

一.概念

    线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。
    一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个 进程的其它线程共享进程所拥有的全部资源。
    一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程 在运行中呈现出间断性。每一个进程至少有一个线程。


二.线程的状态

    线程也有就绪、阻塞和运行三种基本状态。
1.就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待CPU;
2.运行状态是指线程占有CPU正在运行;
3.阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。


三.线程拥有的资源

    同一个进程中的线程共享进程的地址空间,全局变量,打开文件,子进程等,每一个线程拥有自己的程序计数器,堆栈,寄存器,状态。线程拥有的资源如下图所示。第一列表示同一个进程中所有线程共享的资源,第二列表示每一个线程自己拥有的部分。
   

三.POSIX线程

    为实现可移植的线程程序,IEEE在IEEE标准1003.1c中定义了线程的标准。它定义的线程包叫做Pthread。
    Pthread的一些函数说明如下




参考文献

《现代操作系统》,第三版,机械工业出版社


版权所有,欢迎转载,转载请注明出处,谢谢微笑


0 0
原创粉丝点击