gpt4 book ai didi

java - 如何添加锁以从文件方法读取和写入

转载 作者:行者123 更新时间:2023-11-29 07:28:31 29 4
gpt4 key购买 nike

我必须为学校的 readFromFile() 和 writeToFile() 方法添加锁。请查看下面的方法代码,并告诉我在代码中的什么位置放置锁?我会使用 ReentrantLock 还是 ReadWriteReentrantLock?我们必须使用锁。

谢谢。

读取方法

public static void readFromFile(List<Person> people)
{
FileReader fr = new FileReader("names");
Scanner sc = new Scanner(fr);
while (sc.hasNext()) {
String name = sc.nextLine();
int age = Integer.parseInt(sc.nextLine());
people.add(new Person(name, age));
}
sc.close();
}

写法

public static void writeToFile(List<Person> people)
{
File outputFile = new File (List<Person> people)
PrintWriter pw = new PrintWriter(outputFile);

for (Person p: people) {
pw.println(p.name); }

pw.close();

}

最佳答案

只保护整个方法体

 static ReadWriteLock rwl = new ReentrantReadWriteLock();

public static void readFromFile(List<Person> people) {
rwl.readLock().lock();
try {
...
//method body is not changed
} finally {
rwl.readLock().unlock();
}

}

public static void writeToFile(List<Person> people) {
rwl.writeLock().lock();
try {
...
//method body is not changed
} finally {
rwl.writeLock().unlock();
}
}

关于java - 如何添加锁以从文件方法读取和写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46682896/

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