作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
想知道以下场景(简化的 Java 代码):
//Thread A:
FileOutputStream fos = new FileOutputStream(PATH);
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter buffW = new BufferedWriter(osw, SIZE);
for (int i = 0; i < ITER; i++) {
buffW.write(STR);
}
//Thread B:
fos.getFD().sync();
是否需要将 sync()
调用与其他写入同步,或者这是否在操作系统级别得到处理?我的直觉告诉我这应该是操作系统的问题,但我可能是错的。
文档没有涉及这个主题,我只得到一个提示,FileChannel.force(...)
正在进行一些同步,这应该是等效的,但是中的场景文档似乎有些不同。
最佳答案
它应该是线程安全的,因为文件描述符是由操作系统管理的。不过,这似乎是一件相当奇怪的事情。
关于java - FileDescriptor.sync() 线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22548624/
我是一名优秀的程序员,十分优秀!