繁体   English   中英

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

[英]How to deal with concurrency in database in stock market app?

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

我正在使用MySQL存储所有信息,买卖订单转到特定的表格。

当两个用户为同一股票发出同步和即时买单时,我怎样才能保证他们没有获得更多的股票呢?

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

只要您在每笔交易中使用交易,然后使用任何合理的数据库设计,数据库都不会让这种情况发生。 如果两个线程都尝试提交对提供的共享计数的更改,则一个将成功,另一个将失败并显示错误。 然后第二个线程只需要重试交易。

如果是这种情况,则DB旨在处理这种情况。 这是任何RDBMS系统的ACID属性之一,

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

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

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM