瞬間掌握創建使用VB.NET線程訪問數據庫
線程并發,線程阻塞,在我們的程序中線程是很重要的一塊,要考慮的因素也很多,這里我們就VB.NET線程訪問數據庫來詳細的分析一下。線程是操作系統分配處理器時間的基本單元,線程可以在單個執行線程執行的同時運行多個活動,支持搶先多任務處理的操作系統可以創建多個線程并通過時間片輪轉的方式使它們同時運行。
在需要良好用戶交互的應用以及與網絡和數據庫進行通訊的應用中,使用多線程能提供良好的交互體驗,能對用戶的要求做出快速的反應。本文主要介紹.NET中的線程在數據庫編程中的具體應用(用VB.NET實現)。
#T#創建VB.NET線程訪問數據庫
數據庫應用中,特別是網絡數據庫訪問,因為可能要訪問的數據量較大,因此需要比較長的時間來得到結果,而一個良好的程序應具有良好的交互性,在訪問數據庫時應允許你的應用程序對用戶的活動盡快做出響應,以提供豐富的用戶體驗。利用多線程機制可以讓需要大量時間的操作在后臺運行以快速響應用戶的活動。下面的代碼訪問數據庫并返回數據表:
- Private sub GetDataFromDataBase()
- …
- m_table.Clear()
- m_sqlDataAdapter.Fill(m_table)
- …
- End Sub
創建Thread對象的新實例,需創建新的線程代理.ThreadStart線程代理可以指定生成線程時要執行的方法名,但線程代理并不實際運行線程.創建ThreadStart對象時,需指定線程開始執行時要運行的方法的指針,該方法不能接受任何參數。下面我們將上面的代碼分配給一個線程處理,并且啟動它:
- Dim myThreadStart as ThreadStart =New ThreadStart(AddressOf GetDataFromDataBase)
- Dim myThread as Thread=New Thread(myThreadStart)
- myThread.Start()
這樣當進行VB.NET線程訪問數據庫時,用戶可以繼續進行處理。