我正在开发一个多线程应用程序,当有人连接到我的套接字时创建线程。每个连接创建一个新线程,每个线程使用 JDBC 对 MySQL 数据库进行查询。我想知道从我的不同线程到 MySQL 的多个连接是否会导致我的应用程序出现任何问题或对 MySQL 数据产生负面影响。
问问题
1883 次
2 回答
4
相反,您应该始终以多线程方式连接到数据库。或者真的,一种汇集时尚!
考虑当您的应用程序成为全球热门并且您每分钟获得 10 万次点击的情况,那么您将拥有大量线程 - 即每个连接一个,这将破坏您的应用程序、您的应用程序服务器和您的数据库.. . :-)
相反,您可能会实现一个数据库连接池,您的线程可以从中借用并在完成后返回。有几个很好的开源项目可供选择,C3PO和Commons DBCP只是其中两个。
希望有帮助,
于 2012-12-23T19:40:15.623 回答
0
拥有比实际 CPU/硬件线程数更多的线程并没有什么好处。如果有的话,更多的线程会产生更多的开销,这将有效地减慢您的应用程序的速度。
线程确实提供了相对简单的方法来做更多相同的事情,但过了一段时间它开始碰壁,人们不得不开始考虑其他潜在的解决方案。
如果您希望您的应用程序具有可扩展性,现在是开始考虑如何横向扩展您的应用程序的好时机,即多个系统共享负载的分布式解决方案。
与其在单个系统上使用更多线程,不如考虑分布在 N 个系统上的工作队列和工作线程。
于 2012-12-23T19:55:48.473 回答