Windows程序设计
kuailekemi
这个作者很懒,什么都没留下…
展开
-
伪句柄
对于句柄,大家都比较清楚和熟悉,可什么是伪句柄呢? 大家知道在系统中,对象分两类:核心对象和用户对象。如进程对象,线程对象,文件映射对象等就是核心对象;而向窗口,菜单等都是用户对象。这两者是有差别的,用于标示用户对象的句柄是系统唯一的,也就是说,一个进程完全可以对另外一个进程中的用户对象进行操作,比如两个进程间通信的方法之一就是发送消息。正是由于窗口是用户对象,所以句柄转载 2012-10-22 16:13:41 · 1542 阅读 · 0 评论 -
内存映射文件
Windows提供了3种进行内存管理的方法: • 虚拟内存,最适合用来管理大型对象或结构数组。 • 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据。 • 内存堆栈,最适合用来管理大量的小对象。 内存映射文件 内存映射文件与数据视图的相关性 页文件支持的内存映射文件 使用内存映射文件在进程之间共享数据转载 2013-07-15 16:43:54 · 946 阅读 · 0 评论 -
Windows下Critical Section、Event、Mutex、Semaphores区别
临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 临界区包含转载 2013-07-17 17:50:04 · 856 阅读 · 0 评论 -
Event和Mutex区别
事件 事件是用来同步地位不相等的线程的,事件可以用来使一个线程完成一件事情,然后另外的线程完成剩下的事情。事件的使用很灵活,自动事件的激发态是由人工来控制的,而Mutex在释放(releaseMetux)后就一直处于激发态,直到线程WaitForSingleObject。事件可以用来控制经典的读写模型和生产者和消费者模型。相应的方式为,生成者等待消费者的消费,再消费者消费完后通知生产者进行生产。转载 2013-07-17 17:49:13 · 948 阅读 · 0 评论