首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>内核技术>正文

Linux线程的定义

http://www.oklinux.cn  2007-01-04  来源: oklinux收集整理  linux286      会员收藏  游客收藏  【 】 
线程是在共享内存空间中并发的多道执行路径,它们共享一个进程的资源,如文件描述和信号处理。在两个普通进程(非线程)间进行切换时,内核准备从一个进程的上下文切换到另一个进程的上下文要花费很大的开销。

这里上下文切换的主要任务是保存老进程CPU状态,并加载新进程的保存状态,用新进程的内存映像替换老进程的内存映像。线程允许进程在几个正在运行的任务之间进行切换,而不必执行前面提到的完整的上下文。

在Unix类系统中,曾经出现过一些不同线程标准,它们都支持可移植操作系统接口标准POSIX(Portable Operating System Interface Standard)。

POSIX 标准由IEEE制定,并由国际标准化组织接受为国际标准。POSIX 1003.1c是一个用于线程(在一个程序中当前被执行的代码段)的标准,以前是P1993.4或POSIX.4的一部分,这个标准已经在1995年被 IEEE通过,归入ISO/IEC 9945-1:1996。

本文介绍线程主要是针对POSIX线程,即Pthread,因为Linux 对它的支持最好。相对进程而言,线程是一个更加接近于执行体的概念,它可以与进程中的其它线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间。

也可以将线程和轻量级进程(LWP)视为等同,但其实在不同的系统/实现中有不同的解释。LWP更恰当的解释可能为一个虚拟CPU或内核的线程,它可以帮助用户态线程实现一些特殊的功能。Pthread是一种标准化模型,它用来把一个程序分成一组能够同时执行的任务。

那么在什么场合会使用Pthread呢?

◆在返回前阻塞的I/O任务能够使用一个线程处理,同时继续执行其它处理任务。

◆在有一个或多个任务受不确定性事件影响,比如网络通信的可获得性影响的场合,能够使用线程处理这些异步事件,同时继续执行正常的处理。

◆如果某些程序功能比其它的功能更重要,可以使用线程以保证所有功能都出现,但那些时间密集型的功能具有更高的优先级。

以上三点可以归纳为在检查程序中潜在的并行性时,也就是说找出能够同时执行任务时使用Pthread。上面介绍了Linux进程模型已经提供了执行多个进程的能力,可以进行并行或并发编程,但是,线程对多个任务的控制程度要更好,使用资源更少。因为一个单一的资源,如全局变量,可以由多个线程共享,而且,在拥有多个处理器的系统上多线程应用会由用多个进程实现的应用执行。

上一篇:Linux内核主要五个子系统详解   下一篇:Linux对超线程技术支持


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux内核主要五个子系统详解
·Linux对超线程技术支持
·Kernel升级笔记
·Linux内核源代码位于/usr/src/linux目录中概述
·Linux磁盘管理命令
·Linux密码的破解
·用VI阅读linux内核代码---VI的高级使用
·Linux信号
·Linux:让内存不再泄漏
·Debian/Ubuntu Linux下内核编程者必备的几件法宝
·Linux中重新编译内核
·linux内核体系结构
·FC4 下编译Linux内核+perfctr
·Linux 2.6内核中新的锁机制--RCU
·Debian下编译安装Linux内核
·小鸟学飞
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux系统下内核定时器的用法
·学习园地:Linux系统内核中判断大小的
·系统编译:如何给Make命令来传递参数
·Linux 2.6内核中sysfs文件系统简单概述
·Fedora 8 Linux系统的内核配置注意事项
·升级Linux内核的一般步骤方法
·Linux发行版知识普及:三个版本的CPUID
·编译安装Virtualbox驱动模块
· Linux系统的内核解读入门
·新手学堂 Linux系统的内核解读入门
·Linux系统内核中网络参数的意义及其应
·走向Linux系统高手之路 内核编译过程解
  阅读排行
· 深入理解LINUX内核中文版下载地址
·基于S3C44B0微处理器的uClinux内核引导
·Kernel command using Linux system ca
·Linux 2.6内核如何武装Fedora Core 2
·Process priority and control on AIX
·Linux操作系统的内核编译内幕详解
·推荐:Linux用户态与内核态的交互
·通过振动向Linux ThinkPad传输信息
·Linux操作系统源代码详细分析(二)
·Linux系统内核接收以太帧的处理程序
·Linux and symmetric multiprocessing
·主流嵌入式Linux系统下GUI解决方案
·揭秘Linux内核调试器之内幕
·用命令行加挂Linux的文件系统简介
·Linux内核和核心OS组件的测试与分析
网摘收藏: