6
A
回答
7
通過synchronizing兩者序列化和修改對象狀態的方法。
4
爲什麼修改MyClass?更好的方法(併發處理更容易)是爲狀態對象創建新的不可變版本,並在更新時使用AtomicReference對其進行CAS處理。例如:
final class MyClass {
final int age;
final String name;
final String address;
MyClass(int age, String name, String address) {…}
MyClass setNameAndAddress(String name, String address) {return new MyClass(age, name, address);}
}
然後,序列化不是一個問題,因爲你正在處理一個不可變的對象。您的存儲引用只能從一個有效狀態更改爲另一個有效狀態,並且可以以原子方式執行多個更新。
相關問題
- 1. BinaryFormatter序列化和反序列化線程安全嗎?
- 2. 這會使對象線程安全嗎?
- 3. Java線程getId()線程安全嗎?
- 4. 列表線程安全嗎?
- 5. java.util.Vector序列化是否線程安全?
- 6. JSON序列化和線程安全
- 7. NSPersistentStoreCoordinator線程安全嗎?
- 8. NClone線程安全嗎?
- 9. JTextArea線程安全嗎?
- 10. 此線程安全嗎?
- 11. 在java中序列化:自動線程安全?
- 12. Poco RefCountedObject線程安全嗎?
- 13. Interop.Domino dll線程安全嗎?
- 14. KeyPairGenerator.generateKeyPair()線程安全嗎?
- 15. 是Microsoft.Practices.EnterpriseLibrary.Data.Database.SetParameterValue線程安全嗎?
- 16. ACAccount線程安全嗎?
- 17. NSURLConnection線程安全嗎?
- 18. 是javax.sql.DataSource線程安全嗎?
- 19. org.exolab.castor.xml.schema.Schema線程安全嗎?
- 20. java.lang.reflect.Method線程安全嗎?
- 21. HttpContext.Current.Cache線程安全嗎?
- 22. github3py線程安全嗎?
- 23. NSSortDescriptor線程安全嗎?
- 24. Hessian類SerializerFactory是線程安全的嗎?
- 25. UIFont線程安全嗎?
- 26. H2O MOJO線程安全嗎?
- 27. Java和對象序列化
- 28. HtmlCleaner線程安全嗎?
- 29. wx.StaticText線程安全嗎?
- 30. 序列化Java對象CSV
包括修改任何子對象(包含在對象的字段中)的狀態。 – Thilo 2010-10-23 11:35:03
雖然同步解決了您的線程安全問題,但它通過序列化所有訪問來實現此目的,因此您的應用程序基本上是單線程的,而不是併發的。 – 2010-10-26 00:16:39