Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a difference between boost iostream mapped file and boost interprocess mapped file?

I want to create a mapped binary file into memory; however I am not sure how to create the file to be mapped into the system. I read the documentation several times and realize there are 2 mapped file implementations, one in iostream and the other in interprocess.

Do you guys have any idea on how to create a mapped file into shared memory? I am trying to allow a multi-threaded program to read an array of large double written in a binary file format. Also what is the difference between the mapped file in iostream and interprocess?

like image 217
Yijinsei Avatar asked Mar 28 '10 02:03

Yijinsei


1 Answers

As far as I can tell, iostreams will place the mapped file in shared memory (this is what you want); however, interprocess however places the file in a another process's address space.

You should probably use iostreams unless you have multiple processes (not threads) that will be communicating with each other in some way.

like image 130
Joe D Avatar answered Oct 19 '22 23:10

Joe D