首页 > 编程语言 >php Semaphore 函数 信号量

php Semaphore 函数 信号量

时间:2024-09-03 23:03:37浏览次数:14  
标签:queue 共享内存 信号量 Semaphore msg message php shm

1 一些理论基础:

信号量:又称为信号灯、旗语 用来解决进程(线程同步的问题),类似于一把锁,访问前获取锁(获取不到则等待),访问后释放锁。

临界资源:每次仅允许一个进程访问的资源。

临界区:每个进程中访问临界资源的那段代码叫临界区

进程互斥:两个或以上的进程不能同时进入关于同一组共享变量的临界区域,即一个进程正在访问临界资源,另一个进程要想访问必须等待。

进程同步主要研究如何确定数个进程之间的执行顺序和避免数据竞争的问题 即,如何让多个进程能一块很好的协作运行

2 所用到的函数

  • ftok — Convert a pathname and a project identifier to a System V IPC key — 将路径名和项目标识符转换为 System V IPC 密钥
  • msg_get_queue — Create or attach to a message queue  — 创建或附加到消息队列
  • msg_queue_exists — Check whether a message queue exists— 检查消息队列是否存在
  • msg_receive — Receive a message from a message queue — 从消息队列接收消息
  • msg_remove_queue — Destroy a message queue — 销毁消息队列
  • msg_send — Send a message to a message queue— 向消息队列发送消息
  • msg_set_queue — Set information in the message queue data structure— 在消息队列数据结构中设置信息
  • msg_stat_queue — Returns information from the message queue data structure— 从消息队列数据结构返回信息
  • sem_acquire — Acquire a semaphore — 获取信号量
  • sem_get — Get a semaphore id— 获取信号量 ID
  • sem_release — Release a semaphore — 释放信号量
  • sem_remove — Remove a semaphore — 删除信号量
  • shm_attach — Creates or open a shared memory segment— 创建或打开共享内存段
  • shm_detach — Disconnects from shared memory segment— 断开与共享内存段的连接
  • shm_get_var — Returns a variable from shared memory— 从共享内存返回变量
  • shm_has_var — Check whether a specific entry exists— 检查特定条目是否存在
  • shm_put_var — Inserts or updates a variable in shared memory— 在共享内存中插入或更新变量
  • shm_remove — Removes shared memory from Unix systems— 从 Unix 系统中删除共享内存
  • shm_remove_var — Removes a variable from shared memory— 从共享内存中删除变量

参考

php手册 : https://www.php.net/manual/zh/ref.sem.php

 

https://www.cnblogs.com/lishuaige/p/5428772.html

 

标签:queue,共享内存,信号量,Semaphore,msg,message,php,shm
From: https://www.cnblogs.com/polax/p/18395619

相关文章

  • 文件包含PHP伪协议利用方法 本地复现
    环境配置步骤一:更改参数php.ini⾥有两个重要的参数allow_url_fopen、allow_url_include步骤二:创建123.php文件输入一句话木马步骤三:创建1.phpless-1 file://协议123.php?cmd=file://D:\phpstudy_pro\WWW\1.phpless-2 php://filter协......
  • 文件包含PHP伪协议利用方法
    1.file://协议使⽤:file://⽂件的绝对路径和⽂件名2.php?cmd=file://D:\phpstudy_pro\WWW\123.txt2.php://filter协议⽤途:常⽤于读取⽂件/源码2.php?cmd=php://filter/read=convert.base64-encode/resource=1.php3.php://input协议步骤一:2.p......
  • PHP 代码示例 拷贝文件夹目录下的所有子目录及文件到另一个文件夹目录
    PHP 拷贝文件夹目录下的所有子目录及文件到另一个文件夹目录:调用示例:$srcFolder="C:/www/upload/src";$dstFolder="C:/www/upload/dst";$this->recurseCopy($srcFolder,$dstFolder);functionrecurseCopy($src,$dst){$dir=o......
  • php 把文件加入到现有的zip压缩包中
    //指定要添加的文件和已有的压缩包名称$fileToAdd=public_path().'pdffile/file1.txt';//要添加的文件$zipFileName=public_path().'pdfzip/archive.zip';//已有的压缩包名称//创建一个新的ZIP档案对象$zip=newZipArchive();......
  • php 创建压缩包zip,并将指定文件放入zip中
    目前用的是tp6框架//指定要压缩的文件和压缩包的名称$filesToZip=[public_path().'pdffile/生物样本库-原件.pdf'];//要压缩的文件列表$zipFileName=public_path().'pdfzip/archive.zip';//压缩包名称//创建一个新的ZIP档案$zip=......
  • PHP性能优化
        PHP性能优化是指通过一系列的技术手段和优化策略来提升PHP程序的执行效率和响应速度,更好地满足用户的需求和提供更好的用户体验。下面列举了一些常见的PHP性能优化方法:一、使用合适的PHP版本        不同的版本在性能、功能和语法等方面都有所不同,开发人......
  • php获取FTP服务器中文件内容返回给前端
    有一个需求是访问存储在群辉SynologyNAS上的图片,https://ip:port/path/to/image.jpg,用浏览器打开会出现“您的连接不是私密/安全连接”错误。网上检索资料发现可能是因为缺少SSL证书的关系。引用https://www.cloudflare-cn.com/learning/ssl/connection-not-private-explaine......
  • Java、python、php版 舞蹈工作室管理系统 舞蹈课程预约平台(源码、调试、LW、开题、PPT
    ......
  • DzzOffice PHP 性能优化
    PHP的优势之一是其高速执行能力,然而,我们不应因此忽视对PHP代码进行优化处理的重要性。未经优化的逻辑将导致整个程序执行效率的降低。以下是对几个常见问题的分析:文件绝对路径在includes和requires中使用绝对路径,这样在分析路径花的时间更少。循环与函数在循环里别用函数,例......
  • 【最新原创毕设】基于微信小程序的老年人健康医疗信息服务平台设计+24246(免费领源码)可
    摘 要老年人健康是社会关注的重点之一,随着我国人口老龄化程度的增加,老年人的健康问题逐渐凸显。为了更好地满足老年人的健康需求,提高医疗服务质量和效率,开发一个基于SpringBoot的老年人健康医疗信息服务平台是十分必要的。老年人健康医疗信息服务平台利用Java语言,通过spring......