FileChannel.position() 线程安全吗?
Is FileChannel.position() thread safe?
使用 FileChannel.position()
从不同线程写入一个文件是否安全?这是分段下载所必需的。每个线程将写入其在文件中的位置,即线程的位置不会相交。
在 FileChannel
Documentation 中,它说:
File channels are safe for use by multiple concurrent threads.
虽然单个选项是线程安全的,但它不是线程本地的,更改它对所有线程都是可见的。
最简单的选择是为每个线程创建一个 FileChannel,这样可以避免任何交互,除非您写入文件,在这种情况下可以看到这些更改。
使用 FileChannel.position()
从不同线程写入一个文件是否安全?这是分段下载所必需的。每个线程将写入其在文件中的位置,即线程的位置不会相交。
在 FileChannel
Documentation 中,它说:
File channels are safe for use by multiple concurrent threads.
虽然单个选项是线程安全的,但它不是线程本地的,更改它对所有线程都是可见的。
最简单的选择是为每个线程创建一个 FileChannel,这样可以避免任何交互,除非您写入文件,在这种情况下可以看到这些更改。