欢迎来到天天文库
浏览记录
ID:37709096
大小:31.57 KB
页数:8页
时间:2019-05-29
《DOTNET人应该知道的》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、任何一个使用.NET的人·描述线程与进程的区别?·线程的引入:例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费较大的系统开销和占用较多的资源。除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是一个复杂的过程。所以,为了减少进程切换和创建的开销,提高执行效率和节省资源,人们在操作系统中引入了"线程(thread)"的概念。 进程的作用和定义:进程是为了提高CPU的执行效率,减少因为程序等待带
2、来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。进程是为了完成用户任务所需要的程序的一次执行过程和为其分配资源的一个基本单位,是一个具有独立功能的程序段对某个数据集的一次执行活动。· 线程和进程的区别: 1、线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。 2、一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。 3、系统在运行的时候会为每个进程分配不同的内存区域,但是不会
3、为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是说,出了CPU之外(线程在运行的时候要占用CPU资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。 4、与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。 5、进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。 进程与程序的区别: 程序是一组指令的集合,它是静态的实体,没有执行的
4、含义。而进程是一个动态的实体,有自己的生命周期。一般说来,一个进程肯定与一个程序相对应,并且只有一个,但是一个程序可以有多个进程,或者一个进程都没有也可以只有一个进程。除此之外,进程还有并发性和交往性。简单地说,进程是程序的一部分,程序运行的时候会产生进程。 总结: 线程是进程的一部分,进程是程序的一部分。··什么是Windows服务,它的生命周期与标准的EXE程序有什么不同WindowsService是一种可随Windows操作系统启动而启动的,在后台运行的,通常不和用户产生交互的程序。它无法通
5、过双击来运行,类似于Unix守护进程(daemonprocesses),当用户注销时它也不会停止。Windows服务由三部分组成:1.一个服务可执行文件;2.一个服务控制程序(SCP);3.服务控制管理器(SCM),负责在HKLMSYSTEMCurrentControlSetServices下创建服务键值。用户可通过SCP控制服务的启动、停止、暂停等,SCP会通过SCM调用服务程序。Window标准的exe可执行程序通常有一个用户界面,Console或GUI,通常由用户来启动或停止。··Windows上的单
6、个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响?·Windows使用一个系统:虚拟寻址系统。该系统把程序可用的内存地址映射到硬件内存中的实际地址上,这些任务完全有Windows后台管理,其实际结果是32位处理器上的每个进程都可以使用4GB的内存------无论计算机上有多少硬盘空间(在64位处理器上这个数值会更大)。这个4GB内存实际上包含了程序的所有部分------包括可执行代码,代码加载的所有dll,以及程序运行时使用的所有变量的内容。这个4GB内存称为虚拟地址空间,
7、或虚拟内存。·EXE和DLL之间的区别是什么?·EXE就是可执行文件,你可要双击它,它就可以运行,而DLL是一个动态链接库文件,就是说,它不可以自己运行,它是须要一个程序的其它功能运行的时候,它才能运行,打个比方,如果你的QQ要升级,那QQ里面有关升级的DLL文件它就会运行.EXE是带有程序入口(Main)的能被终端用户直接执行的应用程序,随着它的启动系统会产生一个相应的进程。DLL是动态链接库,不包含程序执行入口,不能被终端用户直接执行,本身需要附加到现有的进程中才可以运行。但两者都是基于PE格式,运行时由磁盘
8、中的映像载入被调用者的内存或者共享空间中执行,包含程序的数据信息,只是EXE还包括程序的代码信息。DLL可被多个程序共用,而EXE则不行,只能单独执行。··什么是强类型,什么是弱类型?哪种更好些?为什么?·弱类型语言允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加。CandC++是静态语言,也是弱类型语言;PerlandPHP是动态语言,但也是弱类型语言。·强
此文档下载收益归作者所有