问答题

许多操作系统都提供了一个系统调用将一个给定的文件换一个新名字(rename)。这个系统调用和以下的操作序列之间有什么差别
(1)将原有文件复制为一个名字为新名字的文件;
(2)将原来的文件删除。

【参考答案】

两者之间的区别在于rename可以是一个原子操作。后者的操作序列可能引起错误,比如在(1)完成之后(2)开始之前,其他人......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)