我以固定费率收到大量数据。我需要在不同的线程上对这些数据进行一些处理,但这可能比数据进入的速度慢,所以我需要缓冲数据。由于可用RAM中的数据量很快就会耗尽,因此需要溢出到硬盘上。我可以做的是像文件系统支持的管道,因此编写器可能被文件系统阻止,但读取器运行速度太慢。
这是一套粗略的要求:
Windows中是否存在这样的机制?
答案 0 :(得分:1)
这看起来像是一个经典的消息队列。您是否考虑过MSMQ或类似问题? MSMQ拥有您要求的所有属性。您可能希望使用直接寻址来避免Active Directory http://msdn.microsoft.com/en-us/library/ms700996(v=vs.85).aspx并使用本地或TCP / IP队列地址。
答案 1 :(得分:0)
使用实际文件。在收到数据时写入文件,在另一个进程中从文件中读取数据并进行处理。
您甚至可以获得无多线程的额外好处。