开发者社区> 问答> 正文

java如何实现高并发下的抢单?

可以定义一系列对象
private static Object[] lockObj = new Object[lockLength];
然后tradeid取余lockLength,再加锁
`synchronized(lockObj[tradeid%locklength]){
}`
并发量再往上走有没有更好的处理办法?

展开
收起
蛮大人123 2016-03-10 10:55:27 5519 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    这个策略在有锁的场景下是最优的了,再往上可以使用无锁的方式。这里需要强调下,无锁和无状态是一起使用的,最关键是
    `synchronized(lockObj[tradeid%locklength]){
    }`
    这个同步块中的代码怎么写的,这会牵扯到一系列架构上的调整,没有一个银弹的具体做法。

    2019-07-17 18:57:09
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载