File命名空间是否持久?

时间:2018-01-04 12:50:59

标签: c#

我总是对此功能(例如)如何工作感兴趣:

File.WriteAllBytes(path, data);

有三种情况:

  1. 线程堕胎
  2. 处理终止
  3. 电源关闭
  4. 这三种情况下文件写入是否持久?文件是否会被损坏/部分写入?

    PS 我也对此命名空间中的其他函数感兴趣,但这对于SO问题来说太宽泛了。

1 个答案:

答案 0 :(得分:4)

  

在这三种情况下,文件写入是否持久?

不一定,没有。

确切的结果取决于很多因素,我可以说的唯一结论就是结果未定义。

  

文件是否会被损坏/部分写入?

可能。不保证这样或那样。

回答相关问题:

正常情况下

  • 我应该强行中止/终止/终止一个帖子吗? 否!
  • 我应该强行中止/终止/终止进程吗? 否!
  • 我应该强行关掉电脑吗? 否!
  

那么我该如何终止线程或进程?

A:你好好问。您构建线程或进程的方式是外部代码可以要求终止它。对于线程,通常使用布尔标志变量,任务的CancellationTokens,同步对象等来执行此操作。

对于进程,您可以使用Windows消息或其他方法,甚至是跨进程同步对象。

关闭电源:使用电源按钮。的一旦!