Реферат: Блокировки в 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
|