摘要: 进程间通信方式: socket、管道(pipe)、信箱(MailSlot)、共享内存(ShareMemory)  共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。  Windows上共享内存是通过FileMapping实现的;  1、创建FileMapping内核对象:CreateFileMapping;  2、打开FileMapping内核对象;  3、Map 阅读全文
posted @ 2010-11-14 13:55 ybtyoyo 阅读(3770) 评论(0) 推荐(0) 编辑
摘要: 环形缓冲区是生产者和消费者模型中常用的数据结构。生产者将数据放入数组的尾端,而消费者从数组的另一端移走数据,当达到数组的尾部时,生产者绕回到数组的头部。  如果只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)。写入索引只允许生产者访问并修改,只要写入者在更新索引之前将新的值保存到缓冲区中,则读者将始终看到一致的数据结构。同理,读取索引也只允许消费者访问并修改。... 阅读全文
posted @ 2010-11-14 13:49 ybtyoyo 阅读(2249) 评论(1) 推荐(0) 编辑