请问线程和进程有什么区别?

ssl_rose 2011-11-06 09:34:26
如题
...全文
149 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
子谋 2011-11-07
  • 打赏
  • 举报
回复
这个是《操作系统》这门课程中最最基础的概念……
简单来说,对于现代操作系统……
进程是系统分配资源的最小单位,一个程序通常对应一个进程(除非多进程),虽然进程不再是直接运行的最小单位,但是进程依然是确定某个程序的重要标志,线程则不是,而且进程依旧是非常重要的调度单位……
线程是程序运行的最小单位,最重要的区别是线程隶属于进程,一个进程的多个线程(如果有的话)共享资源,线程是不能被直接分配资源的,而且仅仅执行进程的部分功能,所以线程更加轻量化,便于处理机进行调度,也大大提高了的系统的并行化,但是对于普通用户来说,线程几乎是透明的,操作系统都有进程管理,你见过线程管理吗?
更深入的内容,如果LZ有兴趣,可以自学一下《操作系统》,你会对这两个概念有更深刻的理解……
gongfft 2011-11-07
  • 打赏
  • 举报
回复
进程可以通过任务管理器看到,线程不能通过任务管理器看到,线程一般隐藏在进程下,程序运行必须有个进程,但是,这是相对的,我可以用别的进程,在别的进程下开一个线程来执行程序,这样,程序就不容易被发现了
一鸣惊人 2011-11-07
  • 打赏
  • 举报
回复
路过~~~~~~~~~~~~~~~
赵4老师 2011-11-07
  • 打赏
  • 举报
回复
《深入解析Windows操作系统-Windows Internals》
《Windows核心编程》
机智的呆呆 2011-11-06
  • 打赏
  • 举报
回复
看 windows核心编程 吧
pathuang68 2011-11-06
  • 打赏
  • 举报
回复
1. 进程通常可以理解为线程的容器。
2. 一个进程至少有一个线程。
3. 如果在一个进程中有多个线程,那么每个线程一个栈,但他们默认情况下共用一个堆。
狂且 2011-11-06
  • 打赏
  • 举报
回复
记得一句话不知道有没有记错: 一个程序可以有多个进程, 一个进程可以有多个线程.
goldbeef 2011-11-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 toomj 的回复:]

进程
概念:通俗的讲进程就是运行着的程序
进程组成:进程控制块、程序段、数据段三部分组成
线程
概念:有时被称为轻量级进程,是程序执行流的最小单元。
线程组成:线程ID,程序计数器,寄存器集合和堆栈组成

线程与进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥……
[/Quote]++
cai0538 2011-11-06
  • 打赏
  • 举报
回复
Windows中线程的实现不太清楚,在linux中,并没有区分线程跟进程,如果说二者的区别的话,二者分配时占用的资源多少是不一样的,也就是说,从内核的角度看到的都是进程。当然,概念性的区别看楼上的就可以了。
Toomj 2011-11-06
  • 打赏
  • 举报
回复
进程
概念:通俗的讲进程就是运行着的程序
进程组成:进程控制块、程序段、数据段三部分组成
线程
概念:有时被称为轻量级进程,是程序执行流的最小单元。
线程组成:线程ID,程序计数器,寄存器集合和堆栈组成

线程与进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是.
(4)二者均可并发执行.
ryfdizuo 2011-11-06
  • 打赏
  • 举报
回复
找本操作系统书补补。
线程是调度的基本单位,进程是资源分配的基本单位。
Gloveing 2011-11-06
  • 打赏
  • 举报
回复
系统分配资源是以进程为单位;
处理器调度,分配的单位线程;
且将进程看成是线程的容器,拥有资源,但是执行的却是线程

69,379

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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