当前位置:首页 > 编程开发

线程

webgou17年前 (2010-02-25)编程开发131
线程是由两个部分组成的: * 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放 线程统计信息的地方。 * 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。这意味着线程在它的进程地 址空间中执行代码,并且在进程的地址空间中对数据进行操作。因此,如果在单进程环境中,你有两个或多个线程正在运行,那么这两个线程将共享单个地址空间。这些线程能够执行相同的代码,对相同的数据进行操作。这些线程还能共享内核对象句柄,因为句柄表依赖于每个进程而不是每个线程存在。 如你所见,进程使用的系统资源比线程多得多,原因是它需要更多的地址空间。为进程创建一个虚拟地址空间需要许多系统资源。系统中要保留大量的记录,这要占用大量的内存。另外,由于. e x e和. d l l文件要加载到一个地址空间,因此也需要文件资源。而线程使用的系统资源要少得多。实际上,线程只有一个内核对象和一个堆栈,保留的记录很少,因此需要很少的内 存。 由于线程需要的开销比进程少,因此始终都应该设法用增加线程来解决编程问题,而要避免创建新的进程。但是,这个建议并不是一成不变的。许多程序设计用多个进程来实现会更好些。应该懂得权衡利弊,经验会指导你的编程实践。

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=132

标签: windowsos
分享给朋友:

“线程” 的相关文章

Android创建sdcard详细图解

Android创建sdcard步骤一、cmd进入tools目录输入mksdcard -l mycard 100M F:\mysdcard.img 1. mycard命令可以使用三种尺寸:字节、K和M。如果只使用数字,表示字节。后面还可以跟K,如262144K,也表示256M。2. mycard建立的…

DirectShow编程(3.2)- 关于DirectShow - Filter Graph和它的组件

3.2. Filter Graph和它的组件    这一节描述了DirectShow的主要组件,为DirectShow应用程序和DirectShow Filter开发者提供一个介绍。应用程序开发者可以忽略掉很多底层部分,但是,了解底层对于理解DirectShow架构还是…

如何快速的读懂电路原理图?

如何快速的读懂电路原理图? 如何快速的读懂电路原理图,关键是要掌握其要点, 要分析电路图的原理, 初学人员要分析电子电路或了解、掌握电子产品的工作原理,看懂电子产品的电路图是一项基本功。怎样快速地看懂电子产品的电路图呢? 一、要学习并熟练掌握电子产品中常用的电子元、器件的基本知识,如电…

vs2005运行tcpmp遇到"SignTool Error: No certificates were found that met all the given criteria."

"SignTool Error: No certificates were found that met all the given criteria."…

CocoaAsyncSocket学习

CocoaAsyncSocket支持tcp和udp。其中: AsyncSocket类是支持TCP的 AsyncUdpSocket是支持UDP的AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库。它提供了异步操作,本地cocoa类的基于dele…

Apple新闻之在线收音机 “微电台” 开始支持 Mac,苹果电脑用户可以听国内广播电台的节目了

    听广播曾是国内苹果电脑用户面临的中国特色难题之一,没有收音机软件,网页版电台又都要求你装 “Windows Media Player”。今天得到并验证了一个好消息:新浪微博配套的在线收音机应用 “微电台” 开始支…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。