黑马程序员之C# 学习笔记:进程,线程具体定义区别。
2012-10-11 08:47
661 查看
----------------------------------------2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------
进程:是操作系统就行资源分配的单位,有自己的地址空间。
操作系统使用进程将它们正在执行的不用应用程序分开。
1.进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程;
2.进程是活的(动态的),是处于运行状态的程序;
进程的分类:系统~~~用户~~~
1:系统进程:凡是用于完成操作系统的各种功能的进程;
2:用户进程:所有由你启动的进程;
进程和线程:
在windows下,进程又细分为多个线程
线程:是操作系统分配处理器时间的基本单元,并且进程中可以有多个线程同时执行代码
1.每个线程都维护异常处理程序,调度优先级和一组保存线程上下文的结构;
2.线程上下文指线程在宿主进程地址空间中执继续行所需的所有信息,包括线程的CPU寄存器和堆栈;
多线程:是在共享内存空间中并发的多道执行路径,可以实现并发
1.在具有多个处理器(多核)的计算机上的多线程;
2.在具有以个处理器(单核)的计算机上的多线程,一个进程中可以有多个线程同时执行的效果。它通过以下方式实现这一点:
1)处理器轮流为每个线程分配处理器时间片。由于每个时间片都很小,因此即使只有一个处理器,多个线程看起来似乎也是在同时执行;
2)当前执行的线程在其他时间片结束时被挂起,而另一个线程继续进行;
3)当系统从一个线程切换到另一个线程时,它将保存当前线程的线程上下文,并重新加载线程队列中下一个线程的程序上下文;
多线程缺点:任务切换时,一个被挂起,一个继续执行;同时要保存当前线程的程序上下文,并加载下一个线程的线程上下文。
多线程处理在设计应用程序时还要考虑的资源要求和潜在冲突。这些资源要求如下所述:
1.系统位进程AppDomain对象和线程所需的上下文信息使用内存。因此,可以创建的进程,AppDomain对象和线程的数目会受到可用内存的限制
2.跟踪大量的线程将占用大量的处理器时间。如果线程过多,则其中大多数线程都不会产生明显的进度。
---------------------------------------------------
2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------
进程:是操作系统就行资源分配的单位,有自己的地址空间。
操作系统使用进程将它们正在执行的不用应用程序分开。
1.进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程;
2.进程是活的(动态的),是处于运行状态的程序;
进程的分类:系统~~~用户~~~
1:系统进程:凡是用于完成操作系统的各种功能的进程;
2:用户进程:所有由你启动的进程;
进程和线程:
在windows下,进程又细分为多个线程
线程:是操作系统分配处理器时间的基本单元,并且进程中可以有多个线程同时执行代码
1.每个线程都维护异常处理程序,调度优先级和一组保存线程上下文的结构;
2.线程上下文指线程在宿主进程地址空间中执继续行所需的所有信息,包括线程的CPU寄存器和堆栈;
多线程:是在共享内存空间中并发的多道执行路径,可以实现并发
1.在具有多个处理器(多核)的计算机上的多线程;
2.在具有以个处理器(单核)的计算机上的多线程,一个进程中可以有多个线程同时执行的效果。它通过以下方式实现这一点:
1)处理器轮流为每个线程分配处理器时间片。由于每个时间片都很小,因此即使只有一个处理器,多个线程看起来似乎也是在同时执行;
2)当前执行的线程在其他时间片结束时被挂起,而另一个线程继续进行;
3)当系统从一个线程切换到另一个线程时,它将保存当前线程的线程上下文,并重新加载线程队列中下一个线程的程序上下文;
多线程缺点:任务切换时,一个被挂起,一个继续执行;同时要保存当前线程的程序上下文,并加载下一个线程的线程上下文。
多线程处理在设计应用程序时还要考虑的资源要求和潜在冲突。这些资源要求如下所述:
1.系统位进程AppDomain对象和线程所需的上下文信息使用内存。因此,可以创建的进程,AppDomain对象和线程的数目会受到可用内存的限制
2.跟踪大量的线程将占用大量的处理器时间。如果线程过多,则其中大多数线程都不会产生明显的进度。
---------------------------------------------------
2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------
相关文章推荐
- 黑马程序员之c#学习笔记:描述线程与进程的区别?
- 黑马程序员之C#学习笔记:C#索引器与属性的区别、索引器的具体使用
- 学习笔记——进程和线程的区别
- 黑马程序员之C# 学习笔记:抽象类和接口的区别
- 黑马程序员之C#学习笔记:数据库char 和nchar 、varchar 和nvarchar 的区别
- 黑马程序员之c#学习笔记:C#中的方法的种类以及区别
- 黑马程序员之C#学习笔记:C#中属性与索引的区别
- 黑马程序员之C#学习笔记:类与结构的区别
- 黑马程序员之c#学习笔记:C#值类型和引用类型区别
- JAVA学习笔记49——线程概念+进程、线程区别+创建进程三种方法
- 多线程 学习笔记<4> 进程与线程的区别联系
- 黑马程序员之C#学习笔记:break和continue的区别const与readonly的区别form与control的区别
- 学习笔记--进程与线程的区别及联系
- 操作系统学习笔记——进程与线程联系与区别
- 8dc5 java和c#接口定义区别--学习笔记
- C#进程 线程学习笔记1
- 黑马程序员之c#学习笔记:XML与HTML的主要区别
- 黑马程序员之C# 学习笔记:关于string与stringbuilder的区别
- 学习笔记--进程及线程间通信方式的区别及联系
- C++学习笔记-类定义的注意事项和C#的区别