In. Net Core, многие методы ввода / вывода имеют асин * c версию, и Microsoft предлагает нам использовать их для повышения производительности.
Но, как мы знаем, асин * c методы могут не работает правильно при нормальной блокировке, потому что нормальная блокировка относится к потоку.
Например, , Использование ReadWriteLocker в MemoryCache.when отсутствует MemoryCache , Мне нужно прочитать данные из базы данных. Теперь я знаю 2 способа решения этой проблемы:
- преобразование асинхронного c метода запроса к базе данных в syn c, такого как «Ожидание» или «.Result».
- используя специальную блокировку, такую как блокировка redis или какой-то неофициальный AsyncReaderWriteLocker. (Я нашел такую, но я еще не читал ее код, поэтому я не знаю подробности, стоимости или новой ошибки об этом)
Итак, вернемся к заголовку, когда мне нужно использовать метод asyn c в блокировке, каков наилучший способ? Мне нужны некоторые предложения. Большое спасибо за чтение моего бедного Engli sh.