Classes ODBC e segmentos
Começando com o MFC 4.2, há suporte a multithreading para as classes de ODBC do MFC.No entanto, observe que MFC não oferece suporte a multithreading para as classes do DAO.
O suporte a multithreading para as classes ODBC tem algumas limitações.Como essas classes encapsula a API do ODBC, são restritos para o suporte a multithreading os componentes que são criados.Por exemplo, muitos drivers ODBC não são thread-safe; Portanto, as classes de ODBC do MFC não são thread-safe se você usá-los com um desses drivers.Você deve verificar se seu driver específico é thread-safe.
Ao criar um aplicativo multithread, deve ser muito cuidado ao usar vários segmentos para manipular o mesmo objeto.Por exemplo, usando o mesmo CRecordset objeto em dois segmentos pode causar problemas ao recuperar dados; uma operação de busca em um thread pode sobrescrever os dados obtidos no outro segmento.Um uso mais comum de classes MFC ODBC em segmentos separados é compartilhar uma abertura CDatabase objeto entre threads para usar a mesma conexão ODBC, com um separado CRecordset objeto em cada segmento.Observe que não deve passar uma devolução CDatabase o objeto para um CRecordset objeto em outro thread.
Observação |
---|
Se você deve ter vários segmentos manipular o mesmo objeto, você deve implementar os mecanismos de sincronização apropriado, como seções críticas.Esteja ciente de que certas operações, como Abrir, não estão protegidos.Você deve certificar-se de que essas operações não serão chamadas simultaneamente de segmentos separados. |
Para obter mais informações sobre como criar aplicativos multithread, consulte Tópicos Multithreading.