【发布时间】:2016-03-01 18:31:37
【问题描述】:
我需要在同一台机器上的两个进程之间进行一些高比特率流传输。为了避免过度复制,我的想法是分配一个包含实际数据的大型共享内存缓冲区(通过 CreateFileMapping),并使用管道来控制消息。
这个想法是生产者将一大块数据写入共享内存,然后通过管道发送消息,有效地将所有权传递给消费者。消费者直接在共享内存上进行业务,然后发送另一条消息将内存释放回生产者。无限重复。
这种同步机制是否保证在内存一致性方面是安全的?即消费者在收到控制消息后是否保证看到生产者写入的完整效果?
【问题讨论】:
标签: winapi