当前位置: 首页 > news >正文

江门网站建设方案外包做暖暖视频网站

江门网站建设方案外包,做暖暖视频网站,晋江友情链接是什么意思,网站建设周期进程间通讯 进程间通讯包含五种方式:管道(无名和有名FIFO)、消息队列、信号量、共享内存、Socket(套接字)(支持不同主机间) 参考文章:Linux进程间通信详解(最全) 管道(无名和有名FIFO) 消息队列 由msgget、msgctl、msgsnd、ms…

进程间通讯

进程间通讯包含五种方式:管道(无名和有名FIFO)、消息队列、信号量、共享内存、Socket(套接字)(支持不同主机间)
参考文章:Linux进程间通信详解(最全)

管道(无名和有名FIFO)

消息队列

由msgget、msgctl、msgsnd、msgrcv四个函数组成。
参考文章:消息队列函数

int Queue_Init(key_t key)
{int msg_id = msgget(key, IPC_CREAT | 0666);if (-1 == msg_id)printf("msgget error!\n");return msg_id;
}int Queue_SendData(int msg_id, void *data, size_t size, int flag)
{int err = msgsnd(msg_id, data, size - sizeof(long), flag);if (-1 == err)printf("msgsnd error!\n");return err;
}int Queue_RecvData(int msg_id, void *data, size_t size, long type, int flag)
{int err = msgrcv(msg_id, data, size - sizeof(long), type, flag);if (-1 == err)printf("msgrcv error!\n");return err;
}int Queue_Delinit(int msg_id)
{int err = msgctl(msg_id, IPC_RMID, NULL);if (-1 == err)printf("msgctl error\n");return err;
}

信号量

参考

共享内存

  1. 共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。
  2. 因为多个进程可以同时操作,所以需要进行同步。
  3. 信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问
#define SHM_PATH     "/tmp"
typedef struct {size_t size;int shmid;int semid;void *share;
}T_Shm;static void shm_lock(T_Shm *shm)
{struct sembuf sops = {.sem_num = 0,.sem_op = -1,.sem_flg = SEM_UNDO};semop(shm->semid, &sops, 1);
}static void shm_unlock(T_Shm *shm)
{struct sembuf sops = {.sem_num = 0,.sem_op = 1,.sem_flg = SEM_UNDO};semop(shm->semid, &sops, 1);	
}int Shm_Init(T_Shm *shm, size_t size)
{key_t key = ftok(SHM_PATH, 1);if (-1 == key) return -1;int shm_id = shmget(key, size, 0666 | IPC_CREAT);if (-1 == shm_id) return -1;int sem_id = semget(key, 1, 0666 | IPC_CREAT);if (-1 == sem_id) return -1;int err = semctl(sem_id, 0, SETVAL, 1);if (-1 == err) return -1;void *data = shmat(shm_id, NULL, 0);if (data == (void *)-1) return -1;shm->semid = sem_id;shm->shmid = shm_id;shm->size = size;shm->share = data;return 0;
}int Shm_SetData(T_Shm *shm, const void *data)
{if (NULL == data) return -1;shm_lock(shm);memcpy(shm->share, data, shm->size);shm_unlock(shm);return 0;
}int Shm_GetData(T_Shm *shm, void *data)
{if (NULL == data) return -1;shm_lock(shm);memcpy(data, shm->share, shm->size);shm_unlock(shm);return 0;
}int Shm_Delinit(T_Shm *shm)
{semctl(shm->semid, 0, IPC_RMID);return shmdt(shm->share);
}

Socket(套接字)

http://www.dtcms.com/a/529860.html

相关文章:

  • 摄影行业网站论坛wordpress还是
  • 软文推广平台推荐:垂直领域精准触达,效果提升新路径
  • 数据库MySQL基础
  • 办网站租服务器大气网站源码
  • ps做图网站做loge的网站
  • wordpress主题样式优化软件
  • 公司怎么建网站做推广做电商网站的公司
  • 怎么用dw做带登陆的网站网站 建设ppt
  • 怎么做网站排版企云网站建设
  • 网站建设如何传视频国外优秀购物网站设计
  • 大丰城乡建设局网站wordpress底部黑色的版权修改
  • WPF之布局
  • AD9361通信平台--AGC 原理(二)
  • 网站制作费用入什么科目龙文国土局漳滨村新农村建设网站
  • 社交网站 设计wordpress设计笔记
  • C_OBJ#_INTCOL#坏块导致数据库无法open故障处理---惜分飞
  • 如何建设网站 知乎图书馆网站建设的意义
  • 网站综合营销方案企业营销策略分析论文
  • 企业建站公司哪里找认养农业app模式定制开发
  • 网站建设前端技术网站关键词优化排名怎么做
  • 两个男生如何做网站代理网页是干什么的
  • 做app模板网站有哪些内容南沙高端网站建设
  • 红酒公司的网站建设WordPress插件手动
  • Agentic RL: 大模型后训练 SFT、PPO和GRPO
  • 织梦城市门户网站模板廊坊优化外包
  • 有些网站做不了seo背景视频素材下载免费
  • 聊城专业做网站怎样在华为云服务器里建设网站
  • 做网站为什么要用源码跳舞游戏做的广告视频网站
  • 网站建设的常用软件有哪些企业网站开发需求分析
  • 做商务网站住房与城乡建设部网站建造师