MemoryMappedFile:为什么在处置后会抛出CreateNew?

时间:2019-01-30 16:20:02

标签: c# memory-mapped-files

当我尝试处置并立即创建MemoryMappedFile时,下面的代码抛出了。

memMapFile = MemoryMappedFile.CreateNew("MemMapFile1", size);
memMapFile.Dispose();
// Thread.Sleep(20);
memMapFile = MemoryMappedFile.CreateNew("MemMapFile1", size);

// throws System.IO.IOException: 'Cannot create a file when that file already exists.'

但是,如果取消注释Thread.Sleep(..)行,则上面的示例不会抛出。

Q ,如何处置并重新创建MemoryMappedFile而不触发异常的正确方法是什么?在创建具有相同名称的MemoryMappedFile之前是否有一个等待期?

0 个答案:

没有答案