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

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

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

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

相关推荐

  • Oracle数据库标准的SYSAUX表空间清理方法是什么

    技术Oracle数据库标准的SYSAUX表空间清理方法是什么这篇文章将为大家详细讲解有关Oracle数据库标准的SYSAUX表空间清理方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相

    攻略 2021年11月29日
  • swing五种常见的布局是什么(swing中的常用布局方式)

    技术怎样进行Swing Set示例的分析怎样进行Swing Set示例的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Swing 工具包提供各种用于

    攻略 2021年12月19日
  • python中如何使用GPU大幅提高效率

    技术python中如何使用GPU大幅提高效率本篇文章给大家分享的是有关python中如何使用GPU大幅提高效率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    攻略 2021年11月9日
  • P2568 GCD,线性筛-欧拉函数 模板)

    技术P2568 GCD,线性筛-欧拉函数 模板) P2568 GCD(线性筛-欧拉函数 模板)有两个易错点:
    1.欧拉函数的定义是1到n内互质的数,但是“互质”不一定要都是质数,其实就只需要gcd(a,

    礼包 2021年12月9日
  • 力扣

    技术力扣 力扣 - 剑指 Offer 25. 合并两个排序的链表题目
    剑指 Offer 25. 合并两个排序的链表
    思路1其实就是归并排序中将两个数组合并成一个有序数组
    因为两个链表的元素已经是递增了(

    礼包 2021年11月19日
  • C++11列表初始化是怎样的

    技术C++11列表初始化是怎样的这篇文章主要介绍“C++11列表初始化是怎样的”,在日常操作中,相信很多人在C++11列表初始化是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++

    攻略 2021年11月25日