摘要: 一、基本概念常见的线程同步方法(对象)有: 互斥对象(Mutex),事件对象(Event),信号量(Semaphore),临界区(critical section)等。Synchronization Functions[1] 在同步过程中,两个最重要的概念是同步对象和等待函数。 在线程同步过程中,需要先定义一个同步对象,同步对象一般具有两种状态:标志的(置位,signaled)和未标志的(未置位,nonsignaled)。线程根据是否已经完成操作将同步对象设置为标志的或未标志的。 而等待函数的功能是专门用于等待同步对象状态改变。一个线程调用等待函数后执行会暂停,直到同步对象的状态改变后,等待函 阅读全文
posted @ 2011-01-08 23:09 浪里飞 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念1、进程是应用程序的实例。进程包括一个虚拟地址空间及代码、数据、对象等程序运行所需环境和资源的集合。在内存空间中包括若干可执行的代码、数据、资源、一系列对系统对象操作的句柄,安全上下文、进程标识符(PID),环境变量等程序执行的环境。同时,进程还包括一个或多个执行线程。 线程是程序的执行流程。在操作系统层面,线程是需要操作系统为其分配执行时间片的基本单元。线程附属于进程,一个线程可以执行进程中任意部分的代码。一个系统中同一时间只能有少量线程执行(决定于CPU个数和核数),操作系统决定当前执行哪一个线程,并进行调度。每一个线程都包括一个上下文(主要是CPU寄存器值)。在进行线程调度时 阅读全文
posted @ 2011-01-08 20:21 浪里飞 阅读(2027) 评论(0) 推荐(0) 编辑
摘要: 二、堆管理 用户使用内存分配函数分配的内存都位于堆中,所以使用堆管理函数对内存进行分配、释放等是最为直接的方式。 Windows系统中,每个进程都有自己的堆,每个进程的堆的数量也有所不同。Windows系统中所谓的“堆”(Heap)并不是内存块,而是一种用于内存管理的对象,也是一种内存组织的形式。进程可以从属于自己的堆上分配内存和释放内存。堆包括有若干种属性,如堆的大小最大值可以是固定的、也可... 阅读全文
posted @ 2011-01-08 12:50 浪里飞 阅读(1424) 评论(0) 推荐(0) 编辑