0
A
回答
1
如果您使用的是最基本的RDBM,那么它们将在数据级别处理并发更新。所以你还好。但是,您仍然希望处理调用者尝试基于陈旧数据进行更新(在多用户系统中经常发生这种情况)的情况。您可以在任何数量的方式做到这一点:
计算的ETAG并返回给每个呼叫者,当他们从系统中检索 实体的信息。对于任何呼叫编辑/更新 来电者必须返回与ETAG的保存请求,他们是 最初给出。然后在您的系统中读取持久实体 计算其ETAG,并确保其值等于调用者 给出的值。如果不相等,则自 调用程序检索数据以来就知道进行了编辑,并且可能会产生错误。
如果您正在使用Hibernate,你可以有这样的自动利用其版本功能为 你做。您将版本字段添加到您的数据库的 ,并将注释版本属性添加到您的实体。如果你尝试更新了 版本号的实体大于数据库中的相应的行少 Hibernate会自动管理等等注明实体,扔 StaleObjectException异常。您 可以阅读更多关于here。
希望有所帮助。
0
你可能有更具体的解释你的用例,但多线程Java应用程序是完全独立于任何数据库或您的系统可能会使用其他外部资源。
要阻止来自另一个线程的物体进入给定方法,则该对象上“同步”。
http://docs.oracle.com/javase/tutorial/essential/concurrency/sync.html
相关问题
- 1. java多线程应用程序:正在线程阻塞时间
- 2. 阻止盗版应用程序的人
- 3. 阻止其他应用程序
- 4. Java多线程程序:多线程中的对象共享
- 5. 如何阻止Java中的线程
- 6. C#网络应用程序线程导致程序阻止
- 7. 阻止IO如何影响Linux中的多线程应用程序/服务
- 8. 的Java多线程应用程序 - 如何动态地取消期货对象
- 9. C#阻止从其他线程访问所有对象方法
- 10. 阻止程序终止的线程
- 11. 阻止给定对象上的所有线程
- 12. java多线程和对象
- 13. 阻止应用程序
- 14. 如何阻止NSPanel窃取其他应用程序的输入
- 15. 阻止对其他应用程序在Android
- 16. 传递对象所有权给其他线程在WPF应用程序
- 17. C#多线程服务器。将对象传递给主线程
- 18. Java中的多线程应用程序?
- 19. 分析多线程Java应用程序
- 20. 使用简单对象时阻止Web应用程序。等待
- 21. 去例程阻止其他人
- 22. 如何防止他人使用我的Facebook应用程序?
- 23. 如何将应用程序对象共享给用户
- 24. 如何在Windows上远程阻止和解除阻止任何应用程序
- 25. 如何在执行线程时阻止对象更改
- 26. 如何为多线程应用程序
- 27. 进程阻塞如何应用于多线程进程?
- 28. 如何正确将应用程序对象从应用程序传递给Node应用程序中的routes.coffee
- 29. 如何将应用程序对象传递给模块?
- 30. ReentrantLock.lock()不会阻止其他线程
你是否指多线程? – 2012-01-17 03:40:49
OPS我的错误感谢 – Boni 2012-01-17 03:49:12
请阅读'synchronized'关键字,然后'的Object.wait()'和'Object.notify()'。在此之后,你将有更好的运气来制定你的问题。 – 9000 2012-01-17 04:00:48