testconcur.cpp
来自「一个功能强大的内存数据库源代码,c++编写,有详细的注释」· C++ 代码 · 共 78 行
CPP
78 行
//-< 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 + =
减小字号Ctrl + -
显示快捷键?