Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用多线程创建文件映射_C_File_Multithreading - Fatal编程技术网

C 使用多线程创建文件映射

C 使用多线程创建文件映射,c,file,multithreading,C,File,Multithreading,我试图使用两个线程同时运行,并且都使用FileMapping功能通过不同的句柄将文件映射到内存中。 问题是MapViewOfFile函数有时会将两个线程上的映射分配到相同的内存偏移量。 我尝试在这些部分上使用互斥体,但在高使用率之后,似乎无法写入映射位置。 尝试使用MapViewOffilex获取要使用的内存偏移量,但我不知道应该提供什么偏移量。 任何帮助都将不胜感激。谢谢。我运行了一些测试,如果文件映射的两个实例都标记为只读,即使两个视图都是从同一个文件映射对象映射的,我也不会得到映射视图的相

我试图使用两个线程同时运行,并且都使用FileMapping功能通过不同的句柄将文件映射到内存中。 问题是MapViewOfFile函数有时会将两个线程上的映射分配到相同的内存偏移量。 我尝试在这些部分上使用互斥体,但在高使用率之后,似乎无法写入映射位置。 尝试使用MapViewOffilex获取要使用的内存偏移量,但我不知道应该提供什么偏移量。
任何帮助都将不胜感激。谢谢。

我运行了一些测试,如果文件映射的两个实例都标记为只读,即使两个视图都是从同一个文件映射对象映射的,我也不会得到映射视图的相同地址。操作系统将基于进程的地址空间映射视图,而不是基于哪个线程打开视图。您可以向我们展示用于获取文件句柄、文件映射句柄和映射视图的代码吗?

我运行了一些测试,并且我没有获得映射视图的相同地址,除非文件映射的两个实例都标记为只读,即使两个视图都从同一个文件映射对象映射。操作系统将基于进程的地址空间映射视图,而不是基于哪个线程打开视图。你能告诉我们你用来获取文件句柄、文件映射句柄和映射视图的代码吗?

“写不出来”,这应该是真正发生的事情的线索。请提供详细信息。您能发布代码并更详细地描述“编写失败”吗?我非常喜欢内存映射文件(如果它们合适的话),我希望看到更多关于这个问题的信息/帮助找到答案。“写不出来”,这应该是真正发生的事情的线索。请提供详细信息。您能发布代码并更详细地描述“编写失败”吗?我非常喜欢内存映射文件(如果它们合适的话),并且希望看到更多关于这个问题的信息/帮助找到答案。