数据库内存共享实现原理是什么

技术数据库内存共享实现原理是什么这篇文章主要讲解了“数据库内存共享实现原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库内存共享实现原理是什么”吧!共享内存是

本文主要讲解“数据库内存共享的实现原理是什么”,文中讲解内容简单明了,易学易懂。请跟随边肖的思路,一起学习学习“数据库内存共享的实现原理是什么”。

共享内存是进程间通信的一种方式。PostgreSQL使用共享内存来缓存数据和各种数据结构。

下面是演示代码,逻辑很简单,参考代码自己注释。

/*

申请共享内存,父进程写一串字符,子进程读出。

*/

# includestdio.h

#包括ys/ipc.h

#包括ys/shm.h

#包括系统/类型. h

# includeunistd.h

# includestdlib.h

//1k共享内存。

#defineSHM_SIZE1024

#defineSHM_ID10086

intmain()

{

//共享内存id,子进程id。

intshmid,pid

//共享内存指针。

char * ptr=NULL

//申请共享内存。

shmid=shmget((key_t)SHM_ID,SHM_SIZE,IPC _ CREAT | 0600);

//将共享内存映射到进程地址空间。

ptr=(char*)shmat(shmid,0,0);

printf(' attachpointraddris % p \ n ',ptr);

ptr=' Thisissharedmemory!';

printf(' StStringof ParentProcess 3360% s \ n ',ptr);

if((pid=fork())==-1)

{

perror('forkprocesserror!');

退出(0);

}

elseif(!pid)

{

printf(' childprocesspidis :% d,Stringis % s \ n ',pid,ptr);

退出(0);

}else{

睡眠(1);

//Unmap。

shm dt(ptr);

//删除共享内存。

shmctl(shmid,IPC_RMID,0);

}

返回0;

}运行输出。

[pg12 @ localhostipc]$ gcc-STD=c11-of fork . c

infileincluded from fork . 36860 . 88888888861

/usr/include/sys/IPC . h :24: warn : # warn ' files using thisheadrmustogetappelledwith _ SVID _ SOURCE or _ XOPEN _ SOURCE '[-Wcpp]

#警告“文件使用thishheadermstatepiledwith _ SVID _ SOURCE or _ XOPEN _ SOURCE”

^

[pg12@localhostipc]$。/fork

attachpointraddris0x 7 f 61 FFB 6b 000

parentprocessings 3360的内存!

ChildProcessPIDis:0,StringisThisissharedmemory!

[pg12@localhostipc]$感谢阅读。以上就是“数据库内存共享的原理是什么”的内容。看完这篇文章,相信你对数据库内存共享的原理是什么的问题有了更深的理解。具体用法需要实践验证。在这里,边肖将为大家推送更多相关知识点的文章。欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67435.html

(0)

相关推荐

  • 在Linux命令行里如何与其他用户通信

    技术在Linux命令行里如何与其他用户通信这篇文章将为大家详细讲解有关在Linux命令行里如何与其他用户通信,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。wallwall 命令(意为

    攻略 2021年11月20日
  • 计算机速成课 第八集 指令和程序

    技术计算机速成课 第八集 指令和程序 计算机速成课 第八集 指令和程序1. 给 CPU 一些指令来运行CPU 强大,是因为可编程
    写入不同指令,就会执行不同任务
    是一块硬件,可以被软件控制2. 举例:0

    礼包 2021年12月9日
  • 鸡西有什么用?

    技术JixiPix有什么用这篇文章将为大家详细讲解有关JixiPix有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JixiPix软件是专业照片效果和艺术软件开发商。有着悠久而丰

    攻略 2021年12月24日
  • 面向过程编程理论

    技术面向过程编程理论 面向过程编程理论面向过程编程过程就是流程的意思,即可以理解为先干什么再干什么然后干什么,注重过程基于该思想的编程就好比在一条流水线上,站在一个执行者的角度上面向对象编程(补充)面向

    礼包 2021年11月24日
  • ts在项目中的使用-三斜线引入 与 import区别

    技术ts在项目中的使用-三斜线引入 与 import区别 ts在项目中的使用-三斜线引入 与 import区别ts 在项目中的使用
    本次分享内容只涉及项目初始阶段如何引入ts及依赖插件的ts。
    ts为类

    礼包 2021年12月24日
  • dya 2.c++语法

    技术dya 2.c++语法 dya 2.c++语法构造函数 用途:用来初始化类对象的数据成员; 构造函数和类名相同,没有返回值,可以有多个构造函数 不同的构造函数形参数量或者类型要有所区别

    礼包 2021年12月2日