Я создаю приложение ASP.NET MVC 4, используя Entity Framework, где несколько потоков могут обращаться к таблице в одно и то же время (добавить, удалить строку и т. Д.) Сейчас я делаю using (UserDBContext db = new UserDBContext())
в каждом контроллере (поэтому для каждого запроса создается новый DBContext
, поскольку среда MVC создает отдельный поток для каждого запроса). Из того, что я читал, это безопасно; тем не менее, мне любопытно:ASP.NET MVC несколько потоков доступ к базе данных одновременно
Что происходит, когда два потока обращаются к одной и той же таблице, но не к той же строке? Доступны ли оба потока одновременно?
Что происходит, когда два потока изменяют один и тот же номер строки? скажем, один пытается читать, а другой пытается удалить? Является ли один поток заблокированным (усыпанным), затем автоматически разбуживается, когда другой делается?
Спасибо!
+3: Оптимистичный параллелизм –
Да. Но это действительно нужно, чтобы изучить основы. – TomTom