【问题标题】:Multiple MySQL connections from different threads来自不同线程的多个 MySQL 连接
【发布时间】:2012-12-10 10:02:48
【问题描述】:

我正在开发一个多线程应用程序,当有人连接到我的套接字时会创建线程。每个连接创建一个新线程,每个线程使用 JDBC 对 MySQL 数据库进行查询。我想知道从我的不同线程到 MySQL 的多个连接是否会导致我的应用程序出现任何问题或对 MySQL 数据产生负面影响。

【问题讨论】:

    标签: java mysql multithreading


    【解决方案1】:

    相反,您应该始终以多线程方式连接到数据库。或者说真的,一种混合​​时尚!

    考虑一下这种情况,当您的应用程序成为全球热门并且您每分钟获得 100k 次点击时,您将拥有大量线程 - 即每个连接一个线程,这将破坏您的应用程序、应用程序服务器和您的数据库... :-)

    相反,您可以实现一个数据库连接池,您的线程可以从中借用并在完成后返回。有几个不错的开源项目可供选择,C3POCommons DBCP 只是其中两个。

    希望对你有帮助,

    【讨论】:

      【解决方案2】:

      线程数多于线程数并没有什么好处 cpu/硬件线程的实际数量。如果有的话,更多线程 创建更多开销,这将有效地减慢您的应用程序 下来。

      线程提供的东西相对容易做更多事情 同样的事情,但过了一段时间它开始碰壁,人们不得不开始考虑其他潜在的解决方案。

      如果您希望您的应用程序具有可扩展性,现在是时候 开始考虑如何横向扩展您的应用程序,即 多个系统分担负载的分布式解决方案。

      与其在单个系统上使用更多线程,不如从以下方面考虑 工作队列和工作线程分布在 N 个系统中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-12
        • 2012-07-22
        • 1970-01-01
        • 1970-01-01
        • 2013-09-24
        • 2013-01-22
        • 2020-10-07
        • 1970-01-01
        相关资源
        最近更新 更多