ODBC 類別和執行緒
從 MFC 4.2 開始,MFC ODBC 類別支援多執行緒。 不過請注意,MFC 不提供 DAO 類別的多執行緒支援。
ODBC 類別的多執行緒支援有一些限制。 由於這些類別會包裝 ODBC API,因此限制為建置元件的多執行緒支援。 例如,許多 ODBC 驅動程式不是安全線程;因此,如果您使用 MFC ODBC 類別搭配下列其中一個驅動程式,則不會安全線程。 您應該確認您的特定驅動程式是否為安全線程。
建立多執行緒應用程式時,您應該非常小心使用多個執行緒來操作相同的物件。 例如,在兩個執行緒中使用相同 CRecordset
物件可能會導致擷取資料時發生問題;一個執行緒中的擷取作業可能會覆寫另一個執行緒中擷取的資料。 不同執行緒中 MFC ODBC 類別的較常見用法是跨執行緒共用開啟 CDatabase
的物件,以使用相同的 ODBC 連接,並在 CRecordset
每個執行緒中使用不同的物件。 請注意,您不應該將未開啟 CDatabase
的物件傳遞至另一個 CRecordset
執行緒中的 物件。
注意
如果您必須有多個執行緒操作相同的物件,您應該實作適當的同步處理機制,例如重要區段。 請注意,某些作業,例如 Open
,不會受到保護。 您應該確定這些作業不會從個別執行緒同時呼叫。
如需建立多執行緒應用程式的詳細資訊,請參閱 多執行緒主題 。