2009-05-19 18 views

Odpowiedz

8

Nie jest bezpieczny dla wątków, więc nie można udostępniać obiektów połączeń lub podobnych elementów między wątkami.

Poprawki błędów wątku wymienione w pliku readme dotyczą wielu wątków używających wielu połączeń (tj. Po jednym) do tego samego pliku i rodzaju problemów lub warunków wyścigu, które mogą powodować.

Na przykład warunek wyścigu wątku, o którym mowa w BEGIN i BEGIN IMMEDIATE, miał niefortunny skutek, mimo że wątek wydał BEGIN, inny wątek, który wydał BEGIN, mógł w końcu nadal posiadać bazę danych przed pierwszą. Tego typu sytuacje zostały naprawione.

Jednak połączenia z bazami danych (Oracle, sqlite, serwer ms sql) w .NET nie są bezpieczne dla wątków, ani otaczające je obiekty.

+3

Aby dodać niewielką ilość do powyższego - specyfikacja ADO.NET NIE zaleca ani nie wymaga, aby były bezpieczne dla wątków. Powinieneś użyć jednego połączenia na wątek - to jest projekt ADO.NET. –

+0

A co z czytaniem? Czy można bezpiecznie udostępniać połączenie tylko do odczytu między wątkami? – axe

Powiązane problemy