我已經創建了一個windows應用程序(使用c#.net)進行我們部門的調試比賽。 在這許多用戶使用相同的數據庫來選擇問題的列表,並更新在他們各自的ID單獨標記。 不使用線程的概念,當他們在數據庫中更新自己的商標.. ANY1請幫助我..在advace 感謝...更新同一個數據庫時是否需要使用多線程概念?
1
A
回答
3
要多做Mutil-Threading
或多個線程在方案中使用它需要一次完成一項任務或同時完成一些任務。您應該考慮自己的場景以及可能在場景中使用多個線程。如果您認爲有一些任務可以分爲兩個獨立的任務並且可以並行運行,那麼可以使用多線程來獲得性能改進。同樣,如果你認爲有一些任務很繁重,需要花費很多時間,你可以將該任務移動到Background Thread
,並使用主線程並行處理一些其他任務。這一切都取決於你的情況。
現在來到你的情況下,如果它是一個Windows窗體應用程序很可能會出現只有一個這個應用程序的用戶在同一時間誰將會通過用戶界面進行交互。如果這個假設是正確的,我不認爲你會需要多線程。如果用戶正在做一些投入徹底UI和他點擊保存按鈕,最後才能保存數據庫信息,你不需要多線程單一的UI線程就足以做到這一點
0
不,這是沒有必要的。每個用戶將從數據庫連接池獲得一個連接,並且這些連接同時工作,並且不需要並行編程。
0
如果您更新來自不同線程的數據庫,也不會損壞。這與普通的C#不同,您需要應用鎖來保護對象。您可能被要求使用事務來確保您的數據庫更新不會在更高級別上互相干擾。簡而言之,如果您在多個表中編輯數據庫,或者數據庫的更改取決於數據庫內容(如添加來自客戶的訂單),事務將阻止您爲已刪除的客戶添加訂單。
0
您需要使用非UI線程的任何數據庫的交互,否則UI可能會停止響應。例如。如果你從UI線程執行一個長查詢(或者你的連接被中斷,或者數據庫被大量使用或者任何可能出錯的東西 - 會出錯),那麼UI線程會被阻塞,直到收到完整的響應。
在有多個用戶,可以在數據庫中更新同一數據的情況下,可能需要引入交易,以確保正確的控制和數據流 - 酸。
相關問題
- 1. 多線程概念
- 2. 需要使用HQL獲取數據的概念,同時使用三個或更多表格
- 3. 數據庫編程概念
- 4. 線程是一個Windows概念嗎?
- 5. 何處使用多線程概念
- 6. Google Bigtable是否是多租戶數據庫的概念?
- 7. 使用多個線程更新同一個數據庫會更快嗎?
- 8. 線程概念
- 9. 線程概念
- 10. C#:線程和多線程的概念
- 11. 需要java腳本中的線程的一些概念?
- 12. 每次更新數據庫時,是否需要發出CREATE INDEX?
- 13. Java線程概念
- 14. java是否有可轉移對象(多線程概念)
- 15. 數據庫設計概念
- 16. 關係數據庫概念
- 17. 如何執行多線程概念從Core數據中獲取多個數據?
- 18. 概念名稱需要
- 19. C++程序線程概念
- 20. 概念的想法 - 記憶是有限的應用程序,但需要通過更多的數據
- 21. 對象只被多個線程讀取,是否需要同步
- 22. java中多線程的概念
- 23. JMS多線程概念與MQ
- 24. java多線程的核心概念
- 25. 對多線程概念有點困惑
- 26. C#多線程概念問題
- 27. Wait()和Notify()概念 - Java多線程
- 28. 多線程數據庫更新
- 29. C++ Builder - 多線程數據庫更新
- 30. 「子程序」和「例程」是否是相同的概念?