gpt4 book ai didi

java - 在vertx.executeBlocking代码中使用mybatis代码有什么大问题吗?

转载 作者:行者123 更新时间:2023-12-01 16:28:24 26 4
gpt4 key购买 nike

我想使用MyBatis在Eclipse Vert.x中读写数据库。 Vert.x 官方建议使用 executeBlocking 来处理 blocking code .

在vertx.executeBlocking代码中使用MyBatis代码有什么大问题吗?需要注意什么?

在Vert.x中,使用vert.executeBlocking或者Worker verticles来运行阻塞jdbc代码的程序,性能和并发量会不会不如传统阻塞程序?

最佳答案

澄清:Vert.x 声明,如果您绝对必须使用阻塞代码,则可以将其包装到“executeBlocking”中。这绝对不是一个建议或一个好的做法。

首先,executeBlocking 将在默认工作线程池上运行,该线程池对于长时间运行的任务来说相当小 - 默认情况下为 20 个线程。其次,如果您从 EventLoop verticle(例如路由器)调用此方法,则由于线程关联性,您的并发性会更差。基本上,这将导致阻塞线程池的大小等于 CPU 核心的数量。
如果您的应用程序不需要扩展并且不需要吞吐量 - 这可能没问题。但也许 Vert.x 无论如何都不是最好的选择。

更具可扩展性的方法是在一组工作器 verticle 中运行数据库代码,并使用 EventBus 与处理程序进行通信。

关于java - 在vertx.executeBlocking代码中使用mybatis代码有什么大问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62113686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com