2014-02-17 6 views
1

Вот то, что декомпилятор показывает: таким образомПочему блокировка снимков больше, чем сериализуемая?

public enum IsolationLevel 
{ 
    Unspecified = -1, 
    Chaos = 16, 
    ReadUncommitted = 256, 
    ReadCommitted = 4096, 
    RepeatableRead = 65536, 
    Serializable = 1048576, 
    Snapshot = 16777216, 
} 

Но Serializable замков предоставления данных больше гарантий для параллелизма правильности чем Snapshot делает. Итак, в чем причина значимости моментального снимка?

+0

Возможно, как это было реализовано позже. –

+0

Да, это появилось позже, но есть место, где можно было бы сделать снимок. Вероятно, это перерыв ... –

ответ

2

Численно больше не имеет особого значения здесь, на «уровне изоляции». Каждый элемент просто представляет собой разный тип изоляции. Для чего это означает, вы должны обратиться к документации. Это на самом деле просто битовые флаги с 4-битными интервалами. Используемые значения не имеют особого значения, кроме внутренних деталей реализации.

+0

Hummm, я проектирую внешний вызов cantext, и я должен быть уверен, что вложенные вызовы требуют изолировать не больше, чем изолировать родительский контекст. Поэтому я подумал, что могу просто сравнить уровни по стоимости. Кажется, я не могу этого сделать. –

+0

@ voroninp действительно; вам придется написать свой собственный метод сравнения изоляции –

Смежные вопросы