亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫內存共享實現原理是什么

發布時間:2021-11-04 13:46:20 來源:億速云 閱讀:242 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“數據庫內存共享實現原理是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫內存共享實現原理是什么”吧!

共享內存是進程間通訊的一種方式,PostgreSQL使用共享內存緩存數據以及各種數據結構.
下面是演示代碼,邏輯很簡單,自行參考代碼注釋.

/*
申請一段共享內存,父進程寫入一串字符,子進程讀出。
*/
#include <stdio.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
//1k共享內存
#define SHM_SIZE 1024
#define SHM_ID 10086
int main()
{
    //共享內存id,子進程id
    int shmid, pid;
    //共享內存指針
    char *ptr = NULL;
    //申請共享內存
    shmid = shmget((key_t)SHM_ID, SHM_SIZE, IPC_CREAT | 0600);
    //映射共享內存到進程地址空間
    ptr = (char *)shmat(shmid, 0, 0);
    printf("Attach pointer addr is %p \n", ptr);
    ptr = "This is shared memory!";
    printf("The String of Parent Process is : %s \n", ptr);
    if((pid = fork()) == -1)
    {
        perror("fork process error!");
        exit(0);
    }
    else if(!pid)
    {
        printf("Child Process PID is : %d,String is %s \n", pid,ptr);
        exit(0);
    }else{
        sleep(1);
        //解除映射
        shmdt(ptr);
        //刪除共享內存
        shmctl(shmid, IPC_RMID, 0);
    }
    return 0;
}

運行輸出

[pg12@localhost ipc]$ gcc -std=c11 -o fork fork.c 
In file included from fork.c:7:0:
/usr/include/sys/ipc.h:24:3: warning: #warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE" [-Wcpp]
 # warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"
   ^
[pg12@localhost ipc]$ ./fork 
Attach pointer addr is 0x7f61ffb6b000 
The String of Parent Process is : This is shared memory! 
Child Process PID is : 0,String is This is shared memory! 
[pg12@localhost ipc]$

感謝各位的閱讀,以上就是“數據庫內存共享實現原理是什么”的內容了,經過本文的學習后,相信大家對數據庫內存共享實現原理是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

道真| 广德县| 临泉县| 永春县| 桂阳县| 南郑县| 盐池县| 木里| 疏附县| 大厂| 北流市| 宁强县| 萨迦县| 武穴市| 云南省| 漳州市| 澎湖县| 全椒县| 阜新| 佛冈县| 富锦市| 鹤庆县| 博爱县| 龙井市| 天长市| 新营市| 岢岚县| 新沂市| 安阳市| 东兰县| 天峨县| 澄城县| 高雄县| 客服| 疏附县| 阿尔山市| 永康市| 渝北区| 北碚区| 理塘县| 玛沁县|