黑马程序员技术交流社区
标题:
进程和线程的概念学习总结 and 困惑?
[打印本页]
作者:
刘奇
时间:
2012-7-26 19:51
标题:
进程和线程的概念学习总结 and 困惑?
本帖最后由 刘奇 于 2012-7-27 10:44 编辑
进程和线程的概念
进程:1.独立性:进程是系统中独立存在的实体,可以拥有自己的独立资源,有私有的地址空间
2.动态性
3.并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响(注意是“并发”,并行只有在多核的 情况下才会发生)
线程是轻量级进程,是进程的执行单元,每条进程相当于一条执行流。一个进程可以拥有多个线程,同时一个线程也必须有一个父进程,线程可以共享进程中的资源,但是不能拥有系统资源,只能有自己的堆栈和程序计数器以及自己的局部变量。同一个进程的多个线程可以并发执行。
差异:
进程间不能共享内存,但是线程间共享内存却很容易实现。
创建线程的代价要比创建进程的代价小得多。
问题:
既然进程可以有自己的独立地址空间,那线程可以吗?
作者:
刘同超
时间:
2012-7-26 19:54
晋城市系统中独立存在的尸体 。。看到这里,我已经彻底崩溃了。。。
作者:
尤洋
时间:
2012-7-26 22:16
进程是一个资源的集合体
,所以拥有地址空间,模块,内存
每个进程可以启动几个线程,线程是真正的执行单元,是比进程更小的能独立运行的基本单位.
线程自己基本上不拥有系统资源,但是它可
与同属一个进程的其他的线程共享进程所拥有的全部资源
.
线程能共享到 进程所拥有的全部资源,所以 完全没必要像进程一样拥有自己的独立地址空间.
作者:
侯宪博
时间:
2012-7-27 02:04
进程是系统资源分配的单位。
线程是系统执行的单位。
其中资源就包括内存。
进程占用着独立的内存空间。而这些内存空间就是供线程使用的。
就相当于一个家庭必须占用一套房子
而家庭成员共享这座房子里的东西。
家庭相当于进程,家庭成员相当于线程
房子相当于内存
一个家庭至少有一个成员
也可以有多个成员
作为家庭成员,你只要在这座房子里
你可以想住哪就住哪,当然你必须有那个需求才行
但是你的家庭必须有一个独立的地址
家庭成员呢,却不必,因为你不是房子的分配单位,家庭才是
希望可以对你有所帮助。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2