本帖最后由 张文文 于 2012-10-11 08:47 编辑
进程:是操作系统就行资源分配的单位,有自己的地址空间。
操作系统使用进程将它们正在执行的不用应用程序分开。
1.进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程
2.进程是活的(动态的),是处于运行状态的程序
进程的分类:系统~~~用户~~~
1:系统进程:凡是用于完成操作系统的各种功能的进程
2:用户进程:所有由你启动的进程
进程和线程:
在windows下,进程又细分为多个线程
线程:是操作系统分配处理器时间的基本单元,并且进程中可以有多个线程同时执行代码
1.每个线程都维护异常处理程序,调度优先级和一组保存线程上下文的结构
2.线程上下文指线程在宿主进程地址空间中执继续行所需的所有信息,包括线程的CPU寄存器和堆栈
多线程:是在共享内存空间中并发的多道执行路径,可以实现并发
1.在具有多个处理器(多核)的计算机上的多线程
2.在具有以个处理器(单核)的计算机上的多线程,一个进程中可以有多个线程同时执行的效果。它通过以下方式实现这一点:
1)处理器轮流为每个线程分配处理器时间片。由于每个时间片都很小,因此即使只有一个处理器,多个线程看起来似乎也是在同时执行
2)当前执行的线程在其他时间片结束时被挂起,而另一个线程继续进行
3)当系统从一个线程切换到另一个线程时,它将保存当前线程的线程上下文,并重新加载线程队列中下一个线程的程序上下文
多线程缺点:任务切换时,一个被挂起,一个继续执行;同时要保存当前线程的程序上下文,并加载下一个线程的线程上下文。
多线程处理在设计应用程序时还要考虑的资源要求和潜在冲突。这些资源要求如下所述:
1.系统位进程AppDomain对象和线程所需的上下文信息使用内存。因此,可以创建的进程,AppDomain对象和线程的数目会受到可用内存的限制
2.跟踪大量的线程将占用大量的处理器时间。如果线程过多,则其中大多数线程都不会产生明显的进度。 |