Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 1|Ответ: 0

[Источник] .NET/C# Основанный на SQL SERVER, использует MERGE + HOLDLOCK для идентификаторов высокой параллелности

[Скопировать ссылку]
Опубликовано5 секунд назад | | | |
Требования: MERGE + HOLDLOCK — это одноступенчатая атомарная операция, которая в сочетании с механизмом блокировки идеально разрешает одновременные конфликты на уровне базы данных. В данной статье завершается функция выбора числа (передатчика) на основе базы данных MSSQL.

Скрипт создания базы данных выглядит следующим образом:
Вызываемый код C# выглядит следующим образом:
Выполните следующее:



Тестирование и отправка 10 000 аккаунтов занимает около 6 секунд,В среднем можно сделать 1 666 цифр в секунду, которая теперь может поддерживать большинство бизнесов.

Core WITH (HOLDLOCK): Эта строка кода критически важна. Она отражает использование сериализируемого устройства. Когда несколько потоков или нескольких сервисов запрашивают один и тот же префикс (например, все конкурируют за один и тот же номер заказа), он может принудительно поставить эти запросы в очередь, полностью предотвращая вставку одного и того же префикса или одновременного числа двумя потоками, обеспечивая абсолютную уникальность и непрерывность чисел.




Предыдущий:Различия между location.assign, location.href и location.replace
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com