.NET多线程小记(1):进程、线程、纤程
2009-11-06 14:48 敏捷的水 阅读(1754) 评论(0) 编辑 收藏 举报进程
进程代表了操作系统上运行着的一个应用程序。进程拥有自己的程序块,拥有独占的资源和数据,并且可被操作系统来调度。即使同一个应用程序,当被强制多次启动时,也会被安装到不通的进程之中单独运行。
线程
线程有时候也被称为微进程或者轻量级进程,它的概念和进程十分相似,是一个可以调度的单元,并且维护自己的堆栈和上下文环境。线程是附属于进程的,一个进程可以包含一个或者多个线程,并且同一个进程内的多个线程共享一块内存块和资源。一个线程是一个操作系统可调度的基本单元,但同时它的调度受限于包含该线程的进程,也就是说操作系统首先决定下一个执行的进程,进而才会调度该进程内的线程。
线程和进程的区别
线程和进程的最大的区别在于隔离性。每个进程都被单独地隔离,拥有自己的内存块、独占的资源及运行数据,一个进程的崩溃不会影响到其他进程,而进程之间的交互也是相当困难的。和进程不同,同一进程内的说有线程共享资源和内存块,并且一个线程可以访问、结束同一进程内的其它线程。
纤程
线程是微软公司提出的轻量级线程的概念,一个纤程拥有自己的栈和寄存器状态。一个线程可以包含多个纤程,和线程由操作系统调用有所不同的是,线程内纤程的调度完全由程序员自己控制,操作系统的内核完全不会知道纤程的存在。
扫码关注公众号,了解更多管理,见识,育儿等内容
作者: 王德水
出处:http://www.cnblogs.com/cnblogsfans
版权:本文版权归作者所有,转载需经作者同意。
出处:http://www.cnblogs.com/cnblogsfans
版权:本文版权归作者所有,转载需经作者同意。