Рефераты | Рефераты по информатике, программированию | Блокировки в MS SQL Server 2000 | страница реферата 18 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Здесь во второй сессии (выполняемой в отдельном потоке) мы просто читаем данные и выводим их на консоль. Так как значение переменной value мы изменили перед стартом второй сессии, совершенно очевидно, что на экран будет выведено

    in second session: 10

    in primary session: 10

    Однако при использовании версионной модели мы должны получить

    in second session: 0

    in primary session: 10

    Причина в том, что для каждой транзакции хранится своя копия данных (snap-shot), которая синхронизируется с основными данными только в момент фиксирования транзакции.

    ПРИМЕЧАНИЕ

    Oracle хранит эти копии данных в специальном хранилище, который называется rollback segment.

    Версионная модель характеризуется тем, что в ней отсутствует нулевой уровень изоляции транзакций (READ UNCOMMITTED), и вместо него вводится новый уровень, который в приведенном далее коде я назвал SNAP_SHOT. Он отличается от стандартного тем, что позволяет читать действительные зафиксированные данные, даже при наличии незавершенных транзакций обновления.

    Вот конечный вариант классов CProxy и CObject, который реализует обе модели и, вдобавок к этому, поддерживает два «хинта»: UPDLOCK и XLOCK. Они предназначены для изменения уровня изоляции непосредственно при работе со значением переменной, а их смысл я поясню в следующих разделах.

    #define MSSQL

    // #define ORACLE

    class CObject;

    class CProxy

    {

     friend class CObject;

    public:

     __declspec(property(get=get_Value,put=put_Value)) int value;

     int get_Value(int level = -1) const;

     void put_Value(int i);

     void Commit();

     void Rollback();

    private:

     int _level;


    Рекомендуем скачать другие рефераты по теме: решебник по физике, украинские рефераты.



    Предыдущая страница реферата | 13  14  15  16  17  18  19  20  21  22  23 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •