【发布时间】:2018-08-13 18:50:03
【问题描述】:
我进行了一些搜索,但没有找到类似的问题。 这是我的步骤:
- 将文件复制到 /dev/shm (tmpfs)
- mmap 带锁的文件
- 从该文件中读取数据
- 删除文件
在第4步之后,之前加载的数据仍然可用,为什么? 提前致谢
【问题讨论】:
我进行了一些搜索,但没有找到类似的问题。 这是我的步骤:
在第4步之后,之前加载的数据仍然可用,为什么? 提前致谢
【问题讨论】:
在 Unix 上,文件的数据不会被删除,直到所有剩余的进程都关闭/munmaps。
由于您已打开文件并拥有一个活动句柄或映射到该文件,因此您可以根据需要继续读取和写入文件数据。在你关闭它之前它不会被释放。
【讨论】:
shared_ptr 而不影响 RAM 中的对象,只要其他东西保持它的生命。