Действительно ли этот код ориентирован на многопотоковое исполнение? Как я могу сделать это ориентированным на многопотоковое исполнение?

Это походит на хорошее развлечение.

Несколько вопросов:

  • , Почему Вы выбирали эти типы? varchar, деньги, bigint, интервал, bool? существует ли причина или просто готова добавить некоторое хорошее развлечение?
  • Случайно мы могли добраться, взглянули оператор вставки, или TSQL или bulkinsert?
  • можно ли сказать, как часто вставка происходит (действительно ли это - объем, или случайный?)
  • Делает поле DateTime, содержит дату вставки?
  • , Как, Вы приехали в это? (один человек/день, думающий или команда 20 человек, работающих как сумасшедший в течение прошлых трех месяцев?)

Несколько фактов кажется важным для меня:

  • Вы вставляете миллион строк каждый день
  • , Вы хотите только последний миллион данных

, Несколько комментариев прибыли ко мне:

  • , если Вы интересуетесь только последними данными, удаляя/архивируя бесполезные данные, мог бы иметь смысл (запускайте с нуля каждое утро)
  • , если существует только одна "вставка" и только один "читатель", можно хотеть переключиться на специализированный тип (hashmap/list/deque/stack) или что-то более разработанное на языке программирования.
6
задан svick 6 July 2013 в 19:21
поделиться

2 ответа

Насколько я понимаю, в первом примере осуществляется доступ только к локальному хранилищу потока и переменным на основе стека, а во втором - только к переменным на основе стека.

Оба должны быть потокобезопасными. .

Я не могу сказать, является ли GetByID потокобезопасным или нет. Посмотрите, имеет ли он доступ к общим / статическим ресурсам. Если да, то без дополнительного кода для защиты этих ресурсов потокобезопасен.

12
ответ дан 8 December 2019 в 16:08
поделиться

Приведенный выше код не содержит кода, который изменяет глобальное состояние , поэтому вы можете быть уверены, что это не вызовет проблем с вызовом множественные одновременные потоки. Информация о принципале безопасности привязана к каждому потоку, поэтому и здесь нет проблем.

3
ответ дан 8 December 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: