操作系统学习--线程
2015-09-02 14:41
239 查看
一.概念
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个 进程的其它线程共享进程所拥有的全部资源。
一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程 在运行中呈现出间断性。每一个进程至少有一个线程。
二.线程的状态
线程也有就绪、阻塞和运行三种基本状态。1.就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待CPU;
2.运行状态是指线程占有CPU正在运行;
3.阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。
三.线程拥有的资源
同一个进程中的线程共享进程的地址空间,全局变量,打开文件,子进程等,每一个线程拥有自己的程序计数器,堆栈,寄存器,状态。线程拥有的资源如下图所示。第一列表示同一个进程中所有线程共享的资源,第二列表示每一个线程自己拥有的部分。三.POSIX线程
为实现可移植的线程程序,IEEE在IEEE标准1003.1c中定义了线程的标准。它定义的线程包叫做Pthread。Pthread的一些函数说明如下
参考文献
《现代操作系统》,第三版,机械工业出版社版权所有,欢迎转载,转载请注明出处,谢谢
相关文章推荐
- 应用领航:盘点那些年我们一起追过的OS
- 无奇不有!盘点各国自己开发的操作系统
- C#线程间不能调用剪切板的解决方法
- 可自定义oem的萝卜家园 Ghost XP 新春装机版 V200801 下载
- C#线程同步的三类情景分析
- C#获取进程或线程相关信息的方法
- C#停止线程的方法
- C#子线程更新UI控件的方法实例总结
- C#线程队列用法实例分析
- C#实现判断操作系统是否为Win8以上版本
- C++使用CriticalSection实现线程同步实例
- 基于C++实现的线程休眠代码
- VB读取线程、句柄及写入内存的API代码实例
- C#网络编程基础之进程和线程详解
- C#通过Semaphore类控制线程队列的方法
- C#多线程处理多个队列数据的方法
- C#实现线程安全的简易日志记录方法
- C#中线程同步对象的方法分析
- ASP.NET线程相关配置
- Linux操作系统添加新硬盘方法