Classes ODBC e threads
A partir do MFC 4.2, há suporte multithreading para as classes de ODBC do MFC.Observe, entretanto, que MFC não fornece suporte a multithreading para as classes do DAO.
O suporte a multithreading classes ODBC tem algumas limitações.Como essas classes quebrar a API do ODBC, são restritos ao multithreading suporte dos 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 usá-los com um desses drivers.Você deve verificar se o driver específico é thread-safe.
Ao criar um aplicativo multithreaded, você deve ter 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 substituir os dados obtidos no Outros segmento. Um uso mais comum de classes MFC ODBC em segmentos separados é para compartilhar um em aberto CDatabase objeto pelos threads para usar a mesma conexão ODBC, com um separado CRecordset objeto em cada segmento. Observe que você não deve passar um não abertoCDatabase objeto para um CRecordset objeto em outro thread.
Observação: |
---|
Se você precisar de vários threads manipular o mesmo objeto, você deve implementar sistema autônomo mecanismos de sincronização apropriado, sistema autônomo seções críticas.Lembre-se de que certas operações, sistema autônomo em aberto, não estão protegidos.Você deve estar-se de que estas operações não serão chamadas simultaneamente de segmentos separados. |
Para obter mais informações sobre como criar aplicativos multissegmentados, consulte Multithreading tópicos.