0
我有一個偶爾與MSSQL數據庫進行交互的用戶界面。在Invoke語句中有一個心跳線程將數據插入/更新到同一數據庫。C#WinForm併發調用
1)我的實施是否防止DB數據不一致/損壞?
2)是調用 UI線程/心跳線或者是鎖的路要走之間建立DB序列化的最有效的/最簡單的方法?
我有一個偶爾與MSSQL數據庫進行交互的用戶界面。在Invoke語句中有一個心跳線程將數據插入/更新到同一數據庫。C#WinForm併發調用
1)我的實施是否防止DB數據不一致/損壞?
2)是調用 UI線程/心跳線或者是鎖的路要走之間建立DB序列化的最有效的/最簡單的方法?
您應該考慮BackgroundWorker。調用Invoke方法是很好的抽象,它處理大部分情況。
BackgroundWorker的RunWorkCompleted是否會阻止UI線程停止併發問題?如果是這樣,我認爲這是一個很好的選擇。 – Exegesis 2011-05-02 16:57:37
這取決於您希望用戶如何進行交互。在單獨的線程中調用數據庫的更新沒有任何問題。雖然是用戶啓動這個數據庫更新?你能否提供更多有關用戶工作流程的信息? – mservidio 2011-04-29 17:32:28