Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Корректное обращение к базе данных из разных потоков / 5 сообщений из 5, страница 1 из 1
27.02.2005, 14:20
    #32935382
ClonClona
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корректное обращение к базе данных из разных потоков
есть два потока - основной и бэкграундовый. Есть один коннекшн к базе данных access. Когда с базой начинает работать бэкраундовый поток, а основной пытается тоже к ней обратиться - валится эксептион. Как правильно разделаться с этой ситуацией?
...
Рейтинг: 0 / 0
27.02.2005, 14:29
    #32935386
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корректное обращение к базе данных из разных потоков
на время любого обращения к БД ставить lock на connection.
...
Рейтинг: 0 / 0
27.02.2005, 14:43
    #32935395
ClonClona
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корректное обращение к базе данных из разных потоков
А каким образом это можно сделать?
...
Рейтинг: 0 / 0
27.02.2005, 14:53
    #32935402
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корректное обращение к базе данных из разных потоков
lock использует механизм критической секции windows. например, все действия внутри блока будут проводиться в монопольном режиме одного thread.
Код: plaintext
1.
2.
3.
lock(m_connection)
{
  ...
}
есть еще один механизм синхронизации (более универсальный, но и более медленный) - mutex. он позволяет блокировать выполнение потока до тех пор, пока mutex занят другим потоком.
...
Рейтинг: 0 / 0
28.02.2005, 08:57
    #32935733
ClonClona
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корректное обращение к базе данных из разных потоков
точно )) пасиба
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Корректное обращение к базе данных из разных потоков / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]