⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testconcur.cpp

📁 用于嵌入式环境的数据库
💻 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 + -