A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 魏昂 黑马帝   /  2012-3-26 14:17  /  3368 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果说 当我们打开了了一个程序时就开启了一个进程,而 一个进程里可以有多个顺序流 每个流则为一个线程 。 那么,是不是线程是在进程的基础上的、没有进程就没有线程?

6 个回复

倒序浏览
一个进程 包含一个以上的线程,线程是最小的程序单位!
回复 使用道具 举报
一个程序至少有一个进程,一个进程至少有一个线程.
回复 使用道具 举报
进程是程序执行的一个实例,比如说,10个用户同时执行IE,那么就有10个独立的进程(尽管他们共享同一个可执行代码)。

            进程不是什么?一个没有运行的程序不是一个进程。

            进程的特点:每一个进程都有自己的独立的一块内存空间、一组资源系统。其内部数据和状态都是完全独立的。

            怎么看待进程?进程的优点是提高CPU运行效率,在同一时间内执行多个程序,即并发执行。但是从严格上讲,也不是绝对的同一时刻执行多个程序,只不过CPU在执行时通过时间片等调度算法不同进程高速切换。进程类似于人类,是被产生的,有或长或短的有效生命,可以产生一个或多个子进程,最终都要消亡的。每个子进程都只有一个父进程。在这里顺带提下,Linux里通过调用fork()函数产生子进程。子进程在创建时,它几乎和父进程相同。它是从父进程的地址空间copy过来的。尽管它们可以共享有程序代码的页,但是它们各自有独立的数据空间。对子进程内存的修改不会影响父进程,反之亦然。

           什么是守护进程?在系统的引导的时候会开启很多服务,这些服务就叫做守护进程,也叫后台服务程序,它的生命周期较长,在系统关闭时终止。这个在linux中经常提到init进程,超级守护进程。

  线程的概念:一个线程是进程的一个顺序执行流。      

       同类的多个线程共享一块内存空间和一组系统资源,线程本身的数据通常只有CPU的寄存器数据,以及一个供程序执行时的堆栈。线程在切换时负荷小,因此,线程也被称为轻负荷进程。一个进程中可以包含多个线程。
回复 使用道具 举报
理解概念就搞定了
回复 使用道具 举报
一个进程中至少有一个线程。应该是没有线程就没有进程吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马