我的应用程序有时应该读写文件。而且这项工作可能发生在多线程中,所以我应该同步这些资源。这是我的代码:
// write to file
FileOutputStream fos = openFileOutput("data.dat", Context.MODE_PRIVATE);
synchronized (fos) {
ObjectOutputStream writer = new ObjectOutputStream(fos);
// continue to write
}
// read to file
FileInputStream fis = openFileInput("data.dat");
synchronized (fis) {
ObjectInputStream reader = new ObjectInputStream(fis);
// continue to read
}
上面的代码安全吗?这意味着“data.dat”总是只能在一个线程中读取或写入?如果错了,请纠正我。
谢谢 :)