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

lmyuanhang 2006-03-03 08:34:41
Linux的线程和windows 有什么区别?
...全文
157 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmyuanhang 2006-03-03
  • 打赏
  • 举报
回复
操作系统运行程序时,不是先调用进程的么,
那怎么样去调线程啊?
lmyuanhang 2006-03-03
  • 打赏
  • 举报
回复
这样,除了,占有资源外,L inux的进程和线程就没有分别了啊
lmyuanhang 2006-03-03
  • 打赏
  • 举报
回复
在Linux 下,而不再细分去在一个进程中调度每一个线程,把线程也当作一个独立的调度单元来实现的
那又是什么去调线程的呢?
tb01412 2006-03-03
  • 打赏
  • 举报
回复
只是一个形容词而已,一般说来一个进程本身需要很多描述信息的,它本身要占用很多资源,而线程却相对占用的资源较少,这也是操作系统为何要使用线程概念的一个原因(当然不是主要原因),因为多个线程可以共享进程的资源!!!!
一般说来操作系统以进程为调度单元,也就是时间片轮转采用进程为一个单元,然后再在每个进程中再来调度每个线程,这是一般的线程调度的概念与实现!!

而在LINUX下,却采用了另一种方案,同样以进程为调度单元,而不再细分去在一个进程中调度每一个线程,把线程也当作一个独立的调度单元来实现的,并且每个线程也拥有一个进程控制块(如同进程一样),所以在LINUX下的线程从这个意义上说不再是一个“真正”的线程,又由于在LINUX下线程的资源共享却一样采用了与进程共享全局变量,共享代码空间,它所占用的资源又较少!!!所以一种比较形象的说法称为“轻进程”,不过这种说法倒比较接近实际
lmyuanhang 2006-03-03
  • 打赏
  • 举报
回复
轻量级进程是什么?
tb01412 2006-03-03
  • 打赏
  • 举报
回复
在应用层看来,没有什么区别,但是在实现方式以及提供的API来说差别很大!!!!
首先是线程函数名完全不同!!!!与线程相关的锁等API都不一样,这方面是完全不同的
然后,在LINUX下线程是一种轻量级进程,也就是说它与进程在被CPU调度时是同等的,而在WINDOWS下,线程是属于进程中的一个单元,而不是同等地位。
在LINUX下,线程共享了全局变量,函数,不共享堆栈而已。

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧