CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  内核及驱动程序研究区

Linux的线程和windows 有什么区别?

楼主lmyuanhang(远航)2006-03-03 20:34:41 在 Linux/Unix社区 / 内核及驱动程序研究区 提问

Linux的线程和windows   有什么区别? 问题点数:60、回复次数:6Top

1 楼tb01412(tb)回复于 2006-03-03 20:53:58 得分 60

在应用层看来,没有什么区别,但是在实现方式以及提供的API来说差别很大!!!!  
  首先是线程函数名完全不同!!!!与线程相关的锁等API都不一样,这方面是完全不同的  
  然后,在LINUX下线程是一种轻量级进程,也就是说它与进程在被CPU调度时是同等的,而在WINDOWS下,线程是属于进程中的一个单元,而不是同等地位。  
  在LINUX下,线程共享了全局变量,函数,不共享堆栈而已。Top

2 楼lmyuanhang(远航)回复于 2006-03-03 21:01:31 得分 0

轻量级进程是什么?Top

3 楼tb01412(tb)回复于 2006-03-03 21:11:53 得分 0

只是一个形容词而已,一般说来一个进程本身需要很多描述信息的,它本身要占用很多资源,而线程却相对占用的资源较少,这也是操作系统为何要使用线程概念的一个原因(当然不是主要原因),因为多个线程可以共享进程的资源!!!!  
  一般说来操作系统以进程为调度单元,也就是时间片轮转采用进程为一个单元,然后再在每个进程中再来调度每个线程,这是一般的线程调度的概念与实现!!  
   
  而在LINUX下,却采用了另一种方案,同样以进程为调度单元,而不再细分去在一个进程中调度每一个线程,把线程也当作一个独立的调度单元来实现的,并且每个线程也拥有一个进程控制块(如同进程一样),所以在LINUX下的线程从这个意义上说不再是一个“真正”的线程,又由于在LINUX下线程的资源共享却一样采用了与进程共享全局变量,共享代码空间,它所占用的资源又较少!!!所以一种比较形象的说法称为“轻进程”,不过这种说法倒比较接近实际Top

4 楼lmyuanhang(远航)回复于 2006-03-03 21:17:35 得分 0

在Linux   下,而不再细分去在一个进程中调度每一个线程,把线程也当作一个独立的调度单元来实现的  
  那又是什么去调线程的呢?Top

5 楼lmyuanhang(远航)回复于 2006-03-03 21:25:23 得分 0

这样,除了,占有资源外,L   inux的进程和线程就没有分别了啊Top

6 楼lmyuanhang(远航)回复于 2006-03-03 21:29:48 得分 0

操作系统运行程序时,不是先调用进程的么,  
  那怎么样去调线程啊?Top

相关问题

  • Linux的线程和windows 有什么区别?
  • 请问各位高手大哥,Linux下的线程机制与Windows下的有什么区别呀!
  • 单线程和多线程的区别?
  • 异步编程和线程的区别?
  • 线程和进程有什么区别?
  • 线程和进程什么区别呀????
  • 如何在linux线程中实现windows下PostThreadMessage的功能
  • com+与dll的区别?进程与线程的区别?
  • linux内核线程问题
  • 谁能解释一下线程句柄和线程ID的区别和联系?

关键词

  • 线程
  • linux
  • 进程
  • 调度
  • 单元
  • 区别
  • 共享
  • 资源
  • 占用
  • 实现

得分解答快速导航

  • 帖主:lmyuanhang
  • tb01412

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo