如果這裏的目標是確保當List被序列化並寫入文件時,不會對它進行任何更改,哪種方法會更好?在一個對象上同步,需要澄清
private void save() throws IOException {
FileUtils.deleteQuietly(f);
synchronized (list_of_important_data) {
FileManipulationUtils.writeObject(list_of_important_stuff, MY_FILE);
}
}
private void synchronized save() throws IOException {
FileUtils.deleteQuietly(f);
FileManipulationUtils.writeObject(list_of_important_stuff, MY_FILE);
}
他們是否都爲上述目的做同樣的事情?一個比另一個更好嗎?
我對此不太清楚,但我猜第一個*可能會更有效率,因爲它是同步更短的時間?區別取決於deleteQuietly花費多長時間以及是否需要同步。 –
兩者最終都做同樣的事情嗎?比另一個更受歡迎嗎? – JAM