📄 testconcur.cpp
字号:
//-< TESTCONCUR.CPP >------------------------------------------------*--------*
// FastDB Version 1.0 (c) 1999 GARRET * ? *
// (Main Memory Database Management System) * /\| *
// * / \ *
// Created: 28-Mar-2002 K.A. Knizhnik * / [] \ *
// Last update: 28-Mar-2002 K.A. Knizhnik * GARRET *
//-------------------------------------------------------------------*--------*
// Concurrency test
//-------------------------------------------------------------------*--------*
//#include <windows.h>
#include <stdio.h>
#include "fastdb.h"
class Record
{
public:
int4 recId;
TYPE_DESCRIPTOR((KEY(recId, INDEXED)));
};
class Process
{
public:
int4 pid;
TYPE_DESCRIPTOR((KEY(pid, INDEXED)));
};
REGISTER(Record);
REGISTER(Process);
dbDatabase recordDb, processDb;
int main(int argc, char* argv[])
{
dbThread readThread, writeThread, insertThread, deleteThread;
bool interactive = true;
// Open Database Instance 1
if (processDb.open("foobar", "c:/foobar.odb"))
{
dbQuery q;
dbCursor<Process> processes;
Process proc;
proc.pid = GetCurrentProcessId();
insert(proc);
printf("%d active processes\n", processes.select());
processDb.precommit();
} else
{
printf("Failed to open database\n");
return 1;
}
// Open Database Instance 2
if (recordDb.open("recorddb", "c:/recorddb.odb"))
{
dbQuery q;
dbCursor<Record> records;
Record rec;
rec.recId = GetCurrentProcessId();
insert(rec);
printf("%d record rows\n", records.select());
recordDb.precommit();
} else
{
printf("Failed to open database\n");
return 1;
}
Sleep (10000);
processDb.close();
recordDb.close();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -