2014-03-12 79 views
0

我目前正在编写WebCrawler,它运行8个线程,每个线程获取页面,链接擦除,然后检查链接是否已被捕获。如果他们是新的链接,那么他们被存储。从一个c#应用程序创建多个连接到相同的MYSQL数据库

这一切都有效,但是由于我遇到了内存问题,所以我开始迁移抓取程序以将数据存储在MySQL数据库中。

我遇到的问题是如何让每个线程独立与数据库交互,检查数据并在需要时插入数据。

它目前与一个线程一起工作,但只要我缩放线程池,就会发现连接已经打开错误。

每个线程都有自己的连接对象,在线程上创建以连接到数据库。我是否无知地断定这些连接可以分开?

回答

1

道歉,事实证明,我的代码中实际上有一个错误,我在同一个线程中打开了两次连接。

仅供参考,如果其他人有类似的问题。可以通过C#中的多个线程多次连接到同一个数据库。只要每个连接对象都是线程安全的并且独立于其他连接对象。

我不知道它是否安全或可能通过多个线程共享一个连接。但是,当我运行起来时,它不是一个问题或问题,我需要测试。

谢谢

相关问题