Kelas dan Utas ODBC
Dimulai dengan MFC 4.2, ada dukungan multithreading untuk kelas MFC ODBC. Namun, perhatikan bahwa MFC tidak memberikan dukungan multithreading untuk kelas DAO.
Dukungan multithreading untuk kelas ODBC memiliki beberapa batasan. Karena kelas-kelas ini membungkus API ODBC, kelas tersebut dibatasi untuk dukungan multithreading komponen tempat mereka dibangun. Misalnya, banyak driver ODBC tidak aman utas; oleh karena itu, kelas ODBC MFC tidak aman utas jika Anda menggunakannya dengan salah satu driver ini. Anda harus memverifikasi apakah driver khusus Anda aman utas.
Saat membuat aplikasi multithread, Anda harus sangat berhati-hati dalam menggunakan beberapa utas untuk memanipulasi objek yang sama. Misalnya, menggunakan objek yang sama CRecordset
dalam dua utas dapat menyebabkan masalah saat mengambil data; operasi pengambilan dalam satu utas mungkin menimpa data yang diambil di utas lain. Penggunaan kelas ODBC MFC yang lebih umum dalam utas terpisah adalah berbagi objek terbuka CDatabase
di seluruh utas untuk menggunakan koneksi ODBC yang sama, dengan objek terpisah CRecordset
di setiap utas. Perhatikan bahwa Anda tidak boleh meneruskan CDatabase
objek yang belum dibuka ke CRecordset
objek di utas lain.
Catatan
Jika Anda harus memiliki beberapa utas yang memanipulasi objek yang sama, Anda harus menerapkan mekanisme sinkronisasi yang sesuai, seperti bagian penting. Ketahuilah bahwa operasi tertentu, seperti Open
, tidak dilindungi. Anda harus yakin bahwa operasi ini tidak akan dipanggil secara bersamaan dari utas terpisah.
Untuk informasi selengkapnya tentang membuat aplikasi multithread, lihat Topik Multithreading.
Lihat juga
Konektivitas Database Terbuka (ODBC)
Pemrograman Akses Data (MFC/ATL)