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

📄 testconcur.cpp

📁 最新版本!fastdb是高效的内存数据库系统
💻 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 "fastdb.h"
#include <stdio.h>

USE_FASTDB_NAMESPACE

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", "./foobar.fdb"))
    {
        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", "./recorddb.fdb"))
    {
        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 + -