我需要在多个c ++线程和fortran线程之间移动大量(~10 ^ 6浮点数)。目前我们使用Windows共享内存来移动非常小的数据,主要用于通信,然后将文件保存为专有格式以移动数据。我被要求通过共享内存来查看大部分数据,但是查看Windows中的共享内存技术(看似是一个字符缓冲区),这看起来就像一团糟。另一种可能性是boost的进程间通信,但不确定如何使用fortran,或者它是一个好主意。另一个想法是使用像sqlite这样的数据库。
我只是想知道是否有人有任何经验或想发表评论,因为目前这有点过头了。
非常感谢 吉姆
答案 0 :(得分:0)
使用管道。如果可以在进程之间继承句柄,则可以使用匿名管道,否则必须使用命名管道。此外,线程共享地址空间,因此当您说线程时,您可能正在考虑进程。