首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >股票市场应用中如何处理数据库中的并发性?

股票市场应用中如何处理数据库中的并发性?
EN

Stack Overflow用户
提问于 2013-11-20 21:09:41
回答 2查看 1.3K关注 0票数 0

我正在为一个简单的股票市场开发一个Java应用程序,人们可以在那里买卖股票。我正在考虑的问题是如何处理买卖并发,并确保2+并发购买订单不会为不同的用户创建重复的股票?

我使用MySQL存储所有信息,并将买卖订单转到特定的表中。

当两个用户同时和立即为同一批股票发出购买订单时,我如何保证他们不会得到比现有股票更多的股票?

客户端连接到服务器,服务器将请求发送到RMI服务器。RMI连接到MySQL以存储数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-20 21:52:11

只要你围绕每个交易使用一个事务,然后用任何合理的数据库设计,数据库就不会让这种情况发生。如果两个线程都试图提交对已提供股票计数的更改,一个线程将成功,另一个线程将因错误而失败。然后,第二个线程只需要重新尝试这个交易。

票数 1
EN

Stack Overflow用户

发布于 2013-11-20 22:27:03

如果是这样的话,DB就是用来处理这种情况的。这是任何RDBMS系统的酸性特性之一,

当一个事务正在更新该值时,该记录将被锁定,并且仅在提交或回滚时才解锁。第二个事务要么等待,要么返回错误。

如果要处理它,请处理DB中的锁,以便向用户提供自定义消息。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20107078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档