2014-03-12 56 views
0

我目前正在編寫WebCrawler,它運行8個線程,每個線程獲取頁面,鏈接擦除,然後檢查鏈接是否已被捕獲。如果他們是新的鏈接,那麼他們被存儲。從一個c#應用程序創建多個連接到相同的MYSQL數據庫

這一切都有效,但是由於我遇到了內存問題,所以我開始遷移抓取程序以將數據存儲在MySQL數據庫中。

我遇到的問題是如何讓每個線程獨立與數據庫交互,檢查數據並在需要時插入數據。

它目前與一個線程一起工作,但只要我縮放線程池,就會發現連接已經打開錯誤。

每個線程都有自己的連接對象,在線程上創建以連接到數據庫。我是否無知地斷定這些連接可以分開?

回答

1

道歉,事實證明,我的代碼中實際上有一個錯誤,我在同一個線程中打開了兩次連接。

僅供參考,如果其他人有類似的問題。可以通過C#中的多個線程多次連接到同一個數據庫。只要每個連接對象都是線程安全的並且獨立於其他連接對象。

我不知道它是否安全或可能通過多個線程共享一個連接。但是,當我運行起來時,它不是一個問題或問題,我需要測試。

謝謝

相關問題