我正在浏览用于文件和目录管理操作的Win32 API函数。我看到其中一些功能有他们所谓的“事务性”功能。什么是“事务性”文件操作?
例子:
CreateDirectory和CreateDirectoryTransacted
RemoveDirectory和RemoveDirectoryTransacted
CreateFile和CreateFileTransacted
CopyFile和CopyFileTransacted
我读的这些交易功能,维基百科的文章Transactional NTFS和this MSDN Magazine page解释。但由于这些页面中的术语很重(对我来说),我没有清楚地理解这些解释。他们都达成共识,认为这些功能是“原子”的。但据我所知,从“原子”一词来看,它是一个在其周围有自旋电子的原子核...
请问您能否给我解释一下基本和简单的英文句子,这些函数的目的和操作是什么?为什么和什么时候会喜欢交易版本的API函数?
本文中的“原子”是指(希腊语)单词的原始含义,即“不可分割的”。原子操作就是这样。这样的操作要么成功完成,要么在出现错误的情况下,如果整体失败,那么无论发生什么,都不会有中途执行的结果,例如可能是损坏的文件系统。换句话说:当一个原子操作在一个一致的状态下执行时,它将*总是*导致一致的状态;旧的一致状态或新的一致状态,但两者之间没有任何关系。 – JimmyB
也许看看这个:http://msdn.microsoft.com/en-us/library/hh802690%28v=vs.85%29.aspx,其中指出“原子性在这里是变化要么完全应用或不应用根本不一致的状态会导致文件损坏“。 – JimmyB
本网站仅供其专家会员参考,因为即使他们不是专家,但他们知道如何提问未被标记为“脱离主题”的问题。 – Ameen