![](/img/trans.png)
[英]When you need to use AsyncIO and ThreadPoolExecutor, do you need to call loop.close() manually?
[英]Do you need to call close if you already flush to make content survives unexpected reboot?
我正在写一个文件,并在完成后调用flush()。 是否安全强制退出程序说拉动电源插头而不调用文件上的close()? 调用flush()足以使文件不会损坏。
要确保将内容刷新到操作系统 (并且对其他正在运行的应用程序可见), flush()
或close()
就足够了(也就是说,您不需要两者)。
要确保将内容刷新到磁盘 ,还需要添加os.fsync()
或os.fdatasync()
。 请注意,对于新创建(或新重命名)的文件,您需要担心目录是否也被刷新。
顺便说一句 - 如果你真的很确定事情会变成磁盘,那么经典的演示文章Eat My Data值得您花时间和精力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.