Реферат: Блокировки в MS SQL Server 2000

prx.value = 20;

prx.Commit();

return 0;

}

int main(int argc, char* argv[])

{

//Началотранзакциис 0 уровнемизоляции

CProxy& prx = CObject::GetObject(CObject::READ_UNCOMMITTED);

//Изменение данных

prx.value = 10;

//Открываем новую сессию

_beginthreadex(0,0,thread_proc,0,0,0);

//Print CObject::value variable

printf("%d\n",prx.value);

prx.Commit();

return 0;

}

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

Хорошо, мы избавились от проблемы последнего обновления, но взгляните на следующий код:

unsigned __stdcall thread_proc(void*)

{

CProxy& prx = CObject::GetObject(CObject::READ_UNCOMMITTED);

prx.value = 20;

// Эмулируемработу

Sleep(1000);

prx.value = 40;

prx.Commit();

// Закрытие сессии

return 0;

К-во Просмотров: 976
Бесплатно скачать Реферат: Блокировки в MS SQL Server 2000