2009-05-19 88 views

回答

8

它不是線程安全的,所以你不能在線程間共享連接對象或類似對象。

自述文件中提到的線程錯誤修復與多個線程使用多個連接(即每個連接到同一個文件)以及可能產生的問題或競爭條件有關。

例如,BEGIN和BEGIN IMMEDIATE中提到的線程競爭條件具有不幸的效果,即使一個線程發佈BEGIN,之後發佈BEGIN的另一個線程仍可能最終在第一個線程之前擁有數據庫。這些類型的情況已經修復。

但.NET中的數據庫連接(oracle,sqlite,ms sql server)不是線程安全的,也不是周邊的對象。

+3

向上面添加一小部分 - ADO.NET規範不建議或要求它們是線程安全的。你應該使用每個線程一個連接 - 這是ADO.NET的設計。 – 2009-05-24 17:02:16