{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

在使用多线程和连接池的情况下如何保证SQL执行顺序?

JeffJeff 回答0 收藏1
问题描述:如何保证对同一张表执行的顺序?如果把操作同一张表的SQL放置到不同的线程上,那么SQL执行顺序是不可预测的。如果把某张表的操作固定在一条线程上的确是一个解决方法,但是有没有更加优雅的解决方案?还有java的一些持久化框架(例如mybatis,hibernate)是如何解决这个问题?
收藏问题

1条回答

whatsns

whatsns

回答于2022-06-28 14:01

谢谢邀请!

这个问题用同步门闩应该可以解决,我们看一下定义:

CountDownLatch是jdk1.5之后引入的一个同步器应用类,它的作用能够使一个线程一直等待直到其他线程完成任务后再继续执行。CountDownLatch通常也被叫做门闩,意思是它会导致一条或多条线程一直在门口等待,直到一条线程打开这个门,其他线程才得以继续执行

这是jdk1.5新增加的功能,另外使用同步屏障应该也能解决。

我在头条上写了系列学习java并发的文章,里面有演示代码,关注我就可以看到了。

再次感谢邀请!

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<