gpt4 book ai didi

java - 多个 RandomAccessFile 对象可以将数据写入同一个文件吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:39:55 27 4
gpt4 key购买 nike

 public class WriteThread extends Thread{

@Override
public void run() {
RandomAccessFile randomAccessFile = new RandomAccessFile(fileName, "rwd");
randomAccessFile.seek(threadPosition);
byte[] buffer = new byte[1024 * 8];
randomAccessFile.write(buffer, 0, threadLength);
}
}

在我的代码中,每个线程通过各自的 RandomAccessFile 对象将数据写入同一个文件。是否需要同步?抱歉我的英语不好。

最佳答案

Can multiple RandomAccessFile objects write data to same file?

是的,我们在 Chronicle 的图书馆中这样做。

In my code, each thread writes data to the same file through respective RandomAccessFile object.Does that need to be synchronized?

你仍然需要担心线程安全。 synchronizedLock 将起作用,但是,这不适用于 JVM。如果您有多个 JVM,则需要使用低级别堆外线程安全操作的共享锁。 (这是我们所做的,因为它是最快的选择)

关于java - 多个 RandomAccessFile 对象可以将数据写入同一个文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35971253/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com