Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1700580
  • 博文数量: 174
  • 博客积分: 5493
  • 博客等级: 上校
  • 技术积分: 5802
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-05 15:13
个人简介

炼狱,是为追逐光芒

文章分类

全部博文(174)

文章存档

2017年(1)

2016年(3)

2015年(9)

2014年(5)

2013年(23)

2012年(56)

2011年(45)

2010年(32)

分类: WINDOWS

2010-12-16 11:12:32

线程(thread),有时被称为(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID当前指令指针(PC)寄存器集合(上下文)组成。另外,线程是中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪阻塞运行三种基本状态,在单个进程中同时运行多个线程完成不同的工作,称为多线程
周期
新建,就绪,运行,阻塞,死亡
优先级
有线程进入了就绪状态,需要有程序来决定何时执行,根据优先级来调度

由于同一进程的多个线程共享同一地址空间,因此Text Segment、Data Segment都是共享的,如果定义一个函数,在各线程中都可以调用,如果定义一个全局变量,在各线程中都可以访问到,除此之外,各线程还共享以下进程资源和环境:
文件描述符表
每种信号的处理方式(SIG_IGN、SIG_DFL或者自定义的信号处理函数)
当前工作目录
用户id和组id
但有些资源是每个线程各有一份的:
线程id上下文,包括各种寄存器的值、程序计数器和栈指针
栈空间
errno变量
信号屏蔽字
调度优先级
阅读(1290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~