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

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

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

共享内存是进程间通信的一种方式。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)

相关推荐

  • springboot整合druid

    技术springboot整合druid springboot整合druid一.SpringBoot整合Druid
    Druid是阿里巴巴的一个开源项目,是一个数据库连接池的实现,结合了C3P0、DBCP、

    礼包 2021年11月12日
  • 如何分析基于linux0.11文件系统中的根文件系统挂载原理

    技术如何分析基于linux0.11文件系统中的根文件系统挂载原理如何分析基于linux0.11文件系统中的根文件系统挂载原理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可

    攻略 2021年12月3日
  • C++设备模板怎么声明和定义

    技术C++设备模板怎么声明和定义这篇文章主要讲解了“C++设备模板怎么声明和定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++设备模板怎么声明和定义”吧!将片上外设

    攻略 2021年11月30日
  • 业内首款云原生技术中台产品云原生 Stack 来了!

    技术业内首款云原生技术中台产品云原生 Stack 来了! 业内首款云原生技术中台产品云原生 Stack 来了!云原生 Stack 满足了各种典型场景下客户对于线下高集成平台的诉求,让企业数字化转型不受技

    礼包 2021年10月28日
  • 汇编语言如何实现发出各种声音

    技术汇编语言如何实现发出各种声音这篇文章主要介绍“汇编语言如何实现发出各种声音”,在日常操作中,相信很多人在汇编语言如何实现发出各种声音问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”汇编语

    攻略 2021年11月29日
  • 香港站群服务器更适合部署哪些业务香港服务器哪家好

    技术香港站群服务器更适合部署哪些业务香港服务器哪家好最近不少客户都来咨询香港多IP服务器、香港站群服务器的问题,对于站群服务器,有些用户还是不是太了解,下面USA-IDC就来简单介绍以下香港站群服务器更适合部署哪些业务以

    礼包 2021年10月22日