Многопоточный доступ к одним и тем же таблицам БД из двух разных подключений к БД - PullRequest
1 голос
/ 18 февраля 2011

В моей программе запущено несколько потоков (каждый поток имеет свое собственное соединение с БД), которые хотят получить доступ к тем же таблицам, это вызовет какие-либо проблемы?

быть простым

У меня есть:

  • 2 резьбы T1 и T2

  • 2 DB соединения C1 и C2

  • 1 таблица DBTable1

  • T1 всегда использует C1, а T2 всегда использует C2

  • T1 продолжает вставлять, удалять, обновлять таблицу DBTable1

  • T2 читает таблицу DBTable1

Будут ли какие-либо проблемы?

Я использую сервер MS SQL.

Ответы [ 3 ]

0 голосов
/ 18 февраля 2011

У тебя не будет проблем.Механизмы баз данных рассчитаны на параллелизм

Если T2 вызывает, пока T1 пишет, он будет ждать, пока T1 не завершится.Это не проблема.

0 голосов
/ 28 ноября 2017

Да, поскольку транзакции базы данных следуют за ACID , который обеспечивает параллелизм через свойство Isolation между различными операциями потока.

0 голосов
/ 18 февраля 2011

Базы данных специально разработаны для обработки одновременных пользователей в этих сценариях с использованием транзакций .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...