黑马程序员技术交流社区

标题: 进程,线程具体定义区别。(学习笔记) [打印本页]

作者: 张文文    时间: 2012-10-10 15:02
标题: 进程,线程具体定义区别。(学习笔记)
本帖最后由 张文文 于 2012-10-11 08:47 编辑

进程:是操作系统就行资源分配的单位,有自己的地址空间。
        操作系统使用进程将它们正在执行的不用应用程序分开。
   1.进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程
   2.进程是活的(动态的),是处于运行状态的程序
  进程的分类:系统~~~用户~~~
   1:系统进程:凡是用于完成操作系统的各种功能的进程
   2:用户进程:所有由你启动的进程
  进程和线程:
   在windows下,进程又细分为多个线程


  线程:是操作系统分配处理器时间的基本单元,并且进程中可以有多个线程同时执行代码
   1.每个线程都维护异常处理程序,调度优先级和一组保存线程上下文的结构
   2.线程上下文指线程在宿主进程地址空间中执继续行所需的所有信息,包括线程的CPU寄存器和堆栈

  多线程:是在共享内存空间中并发的多道执行路径,可以实现并发
   1.在具有多个处理器(多核)的计算机上的多线程
   2.在具有以个处理器(单核)的计算机上的多线程,一个进程中可以有多个线程同时执行的效果。它通过以下方式实现这一点:
    1)处理器轮流为每个线程分配处理器时间片。由于每个时间片都很小,因此即使只有一个处理器,多个线程看起来似乎也是在同时执行
    2)当前执行的线程在其他时间片结束时被挂起,而另一个线程继续进行
    3)当系统从一个线程切换到另一个线程时,它将保存当前线程的线程上下文,并重新加载线程队列中下一个线程的程序上下文
  多线程缺点:任务切换时,一个被挂起,一个继续执行;同时要保存当前线程的程序上下文,并加载下一个线程的线程上下文。
  多线程处理在设计应用程序时还要考虑的资源要求和潜在冲突。这些资源要求如下所述:
    1.系统位进程AppDomain对象和线程所需的上下文信息使用内存。因此,可以创建的进程,AppDomain对象和线程的数目会受到可用内存的限制
    2.跟踪大量的线程将占用大量的处理器时间。如果线程过多,则其中大多数线程都不会产生明显的进度。

作者: 许庭洲    时间: 2012-10-11 08:52
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2