É SQLite.Net thread-safe?

votos
6

Eu estou perguntando sobre a implementação .Net - System.Data.SQLite. Existem diretrizes para usá-lo de uma forma thread-safe?

Sei si SQLite pode ser compilado com ou sem a segurança do thread - mas como foi System.Data.SQLite compilado?

Publicado 19/05/2009 em 22:03
fonte usuário
Em outras línguas...                            


1 respostas

votos
8

Ele não é thread-safe, então você não pode compartilhar objetos de conexão ou semelhante entre threads.

As correções de rosca mencionados no arquivo leia-me tem a ver com vários segmentos que usam conexões múltiplas (ie. Um de cada) para o mesmo arquivo, e que tipo de problemas ou condições de corrida que possam produzir.

Por exemplo, a condição de rosca corrida mencionado para começar e IMEDIATA teve o efeito lamentável que mesmo que um fio emitiu um BEGIN, outro segmento que emitiu um BEGIN depois poderia ainda acabar possuir o banco de dados antes que a primeira fez. Estes tipos de situações foram corrigidos.

Mas as conexões de banco de dados (Oracle, SQLite, MS SQL Server) em .NET não são thread-safe, nem os objetos ao redor.

Respondeu 19/05/2009 em 23:01
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more