亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > PHP > 正文

PHP共享內(nèi)存用法實例分析

2024-05-04 23:42:52
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PHP共享內(nèi)存用法,結(jié)合實例形式較為詳細(xì)的分析了基于共享內(nèi)存實現(xiàn)進(jìn)程間通信的技巧,需要的朋友可以參考下
 

本文實例講述了PHP共享內(nèi)存用法。分享給大家供大家參考,具體如下:

共享內(nèi)存主要用于進(jìn)程間通信

php中的共享內(nèi)存有兩套擴(kuò)展可以實現(xiàn)

1、shmop  編譯時需要開啟 --enable-shmop 參數(shù)

實例:

$shm_key = ftok(__FILE__, 't');/** 開辟一塊共享內(nèi)存int $key , string $flags , int $mode , int $size $flags: a:訪問只讀內(nèi)存段    c:創(chuàng)建一個新內(nèi)存段,或者如果該內(nèi)存段已存在,嘗試打開它進(jìn)行讀寫    w:可讀寫的內(nèi)存段    n:創(chuàng)建一個新內(nèi)存段,如果該內(nèi)存段已存在,則會失敗$mode: 八進(jìn)制格式 0655$size: 開辟的數(shù)據(jù)大小 字節(jié) */$shm_id = shmop_open($shm_key, "c", 0644, 1024);/** * 寫入數(shù)據(jù) 數(shù)據(jù)必須是字符串格式 , 最后一個指偏移量 * 注意:偏移量必須在指定的范圍之內(nèi),否則寫入不了 *  */$size = shmop_write($shm_id, 'songjiankang', 0);echo "write into {$size}";#讀取的范圍也必須在申請的內(nèi)存范圍之內(nèi),否則失敗$data = shmop_read($shm_id, 0, 100);var_dump($data);#刪除 只是做一個刪除標(biāo)志位,同時不在允許新的進(jìn)程進(jìn)程讀取,當(dāng)在沒有任何進(jìn)程讀取時系統(tǒng)會自動刪除shmop_delete($shm_id);#關(guān)閉該內(nèi)存段shmop_close($shm_id);

2、用 Semaphore 擴(kuò)展中的 sem 類函數(shù) (用起來更方便,類似 key-value 格式)

// Get the file token key$key = ftok(__DIR__, 'a');// 創(chuàng)建一個共享內(nèi)存$shm_id = shm_attach($key, 1024, 777); // resource typeif ($shm_id === false) {  die('Unable to create the shared memory segment');}#設(shè)置一個值shm_put_var($shm_id, 111, 'value');#刪除一個key//shm_remove_var($shm_id, 111);#獲取一個值$value = shm_get_var($shm_id, 111);var_dump($value);#檢測一個key是否存在// var_dump(shm_has_var($shm_id, 111));#從系統(tǒng)中移除shm_remove($shm_id);#關(guān)閉和共享內(nèi)存的連接shm_detach($shm_id);

注意:這兩種方式不通用的

一個用共享內(nèi)存和信號量實現(xiàn)的消息隊列

/*** 使用共享內(nèi)存和信號量實現(xiàn)* * 支持多進(jìn)程, 支持各種數(shù)據(jù)類型的存儲* 注: 完成入隊或出隊操作,盡快使用unset(), 以釋放臨界區(qū)**/class ShmQueue{  private $maxQSize = 0; // 隊列最大長度  private $front = 0; // 隊頭指針  private $rear = 0; // 隊尾指針  private $blockSize = 256; // 塊的大小(byte)  private $memSize = 25600; // 最大共享內(nèi)存(byte)  private $shmId = 0;  private $filePtr = './shmq.ptr';  private $semId = 0;  public function __construct ()  {    $shmkey = ftok(__FILE__, 't');    $this->shmId = shmop_open($shmkey, "c", 0644, $this->memSize);    $this->maxQSize = $this->memSize / $this->blockSize;    // 申請一個信號量    $this->semId = sem_get($shmkey, 1);    sem_acquire($this->semId); // 申請進(jìn)入臨界區(qū)    $this->init();  }  private function init ()  {    if (file_exists($this->filePtr)) {      $contents = file_get_contents($this->filePtr);      $data = explode('|', $contents);      if (isset($data[0]) && isset($data[1])) {        $this->front = (int) $data[0];        $this->rear = (int) $data[1];      }    }  }  public function getLength ()  {    return (($this->rear - $this->front + $this->memSize) % ($this->memSize)) /         $this->blockSize;  }  public function enQueue ($value)  {    if ($this->ptrInc($this->rear) == $this->front) { // 隊滿      return false;    }    $data = $this->encode($value);    shmop_write($this->shmId, $data, $this->rear);    $this->rear = $this->ptrInc($this->rear);    return true;  }  public function deQueue ()  {    if ($this->front == $this->rear) { // 隊空      return false;    }    $value = shmop_read($this->shmId, $this->front, $this->blockSize - 1);    $this->front = $this->ptrInc($this->front);    return $this->decode($value);  }  private function ptrInc ($ptr)  {    return ($ptr + $this->blockSize) % ($this->memSize);  }  private function encode ($value)  {    $data = serialize($value) . "__eof";    echo '';    echo strlen($data);    echo '';    echo $this->blockSize - 1;    echo '';    if (strlen($data) > $this->blockSize - 1) {      throw new Exception(strlen($data) . " is overload block size!");    }    return $data;  }  private function decode ($value)  {    $data = explode("__eof", $value);    return unserialize($data[0]);  }  public function __destruct ()  {    $data = $this->front . '|' . $this->rear;    file_put_contents($this->filePtr, $data);    sem_release($this->semId); // 出臨界區(qū), 釋放信號量  }}/* * // 進(jìn)隊操作 $shmq = new ShmQueue(); $data = 'test data'; $shmq->enQueue($data); * unset($shmq); // 出隊操作 $shmq = new ShmQueue(); $data = $shmq->deQueue(); * unset($shmq); */

linux下 用 ipc命令查看 ,用 ipcrm 命令可以刪除

希望本文所述對大家PHP程序設(shè)計有所幫助。



注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
亚洲国产日韩a在线播放| 国产一区不卡视频| 视频二区不卡| 国产福利视频网站| 国产情人节一区| 亚洲欧美另类小说视频| 你懂的在线网址| 亚洲成年人电影在线观看| 高清欧美性猛交xxxx黑人猛| jizz视频在线观看| 久久伊人影院| 中文字幕av手机在线| 日韩欧美xxxx| 日本91福利区| 免费一级suv好看的国产网站| 国产私人尤物无码不卡| 中文字幕人妻熟女在线| 国产精品白丝一区二区三区| 免费网站观看www在线观看| www.青青草.com| 九一免费看片| 久久精品国产99国产精品澳门| 99久久免费看精品国产一区| 日韩在线免费看| 亚洲一区二区自偷自拍| 亚洲欧美日本在线观看| 永久免费看mv网站入口78| av在线免费播放| 国产一区二区伦理片| 91久久综合亚洲鲁鲁五月天| 在线观看免费91| 国产91精品久久久久| 国产伦精品一区三区精东| 无人在线观看的免费高清视频| 国产美女免费视频| 精品一区二区三区视频日产| 国产一级精品毛片| 亚洲永久精品在线观看| 一区二区日韩视频| 91国产精品电影| 五月综合激情在线| 国内一级毛片| 日韩精品电影一区亚洲| 日韩欧美亚洲一区| 成人影院在线观看| 欧美日韩国产一区二区| 在线播放视频一区| 91原创在线视频| 免费看男男www网站入口在线| 亚州欧美色图| 高潮毛片无遮挡| www.av导航| 青青在线视频一区二区三区| 精品深夜av无码一区二区老年| 亚洲毛片视频| 在线精品视频一区| 91大神在线观看线路一区| 精品女厕厕露p撒尿| 6080成人| 国产精品久久二区二区| 日韩精品一区二区在线观看| 亚洲午夜精品视频| 亚洲黄色视屏| 国产欧美88| 久久人体av| 成人欧美在线视频| 视频欧美一区| www.精品av.com| 九九视频精品在线| 国产一级免费大片| 亚洲日韩欧美视频| 国产在线视频你懂| 夜色激情一区二区| 日韩成人影视| 欧美日韩p片| 日韩欧美aaa| 国产美女扒开尿口久久久| 丰满岳乱妇国产精品一区| 一区二区三区在线播放视频| 国产一区白浆| 久久黄色免费视频| 国产精品午夜久久久久久| 91蝌蚪在线观看视频| 黄网站app在线观看大全免费视频| 国产精品推荐精品| 亚洲精品乱码久久久久久按摩观| 日本一道本久久| 国产精品资源在线| 牛牛精品在线| 日本在线不卡视频一二三区| 亚洲高清在线精品| 日韩一区二区在线观看视频| 精品无码在线观看| 最新在线观看av| 日韩欧美一起| 91一区二区三区| 欧美色欧美亚洲另类七区| 久久影视中文字幕| 久久久久久久久久久久久久免费看| 欧美视频二区欧美影视| 性欧美video高清bbw| 国产精品二区在线观看| 夜夜操免费视频| 欧美国产乱视频| 国产日韩欧美一区二区三区乱码| 亚洲精品一区二区三区新线路| 高清日韩欧美| 一区二区三区在线电影| 久久久精品在线视频| 欧美少妇另类| 国产主播精品在线| 国产精品va在线观看无码| 国产高清久久久| 一区二区三区福利| 久久久久久久久久网站| 中文字幕 欧美激情| 91国语精品自产拍| 日韩欧美999| 日韩欧美一区视频| 9l视频白拍9色9l视频| 午夜精品99久久免费| 国产精品探花在线观看| 国产亚洲精品久久久久久牛牛| 污污的视频在线观看| 男女啪啪无遮挡网站| 一卡二卡三卡亚洲| 国产精品精品久久久| 欧美黄色大片在线观看| www操操操| 国内伊人久久久久久网站视频| 久久国产日韩欧美精品| 午夜精品国产| 国产va在线视频| 中文字幕av免费观看| 中文亚洲视频在线| 久久福利网址导航| 麻豆视频成人| 97国产在线| 91av在线网站| 成人免费视频久久| 欧美精品xxx| 97在线看免费观看视频在线观看| 91超碰在线免费观看| 久久精品水蜜桃av综合天堂| 欧美色欧美亚洲另类二区精品| 欧美一区二区三区日韩| 国产在线一卡二卡| 亚洲美女又黄又爽在线观看| 国产一区二区三区精彩视频| 艳妇臀荡乳欲伦亚洲一区| 无码毛片aaa在线| 999香蕉视频| 日韩免费高清在线观看| 欧美xxxx少妇| 51国偷自产一区二区三区| 欧美日韩在线观看不卡| 亚洲国产综合一区| 在线播放中文字幕一区| 成人影院在线免费观看| 欧美一级淫片| 精品久久久久久久一区二区蜜臀| 五月天婷婷丁香| 在线观看免费高清完整| 天天干天天草天天| www.日本在线播放| 欧美人乱大交xxxxx| ririsao久久精品一区| 免费观看黄色av| 国产精品无码无卡无需播放器| 国产经典自拍视频在线观看| 91超碰中文字幕久久精品| 欧美巨大黑人极品精男| 久久久久国产一区二区| 亚洲成av人片在www色猫咪| 免费福利在线| 亚洲国产精品久久久久蝴蝶传媒| 高清精品一区二区三区一区| 成人在线视频免费观看| 国产欧美在线一区| 日韩精品高清在线| 亚洲精品国产精品国自产观看浪潮| 亚洲毛茸茸少妇高潮呻吟| 老司机午夜免费福利| 久久精品夜夜夜夜夜久久| 51xx午夜影福利| 91麻豆国产在线| 后进极品白嫩翘臀在线播放| 午夜老司机精品| 成人免费淫片aa视频免费| www.激情网| 日韩美女视频在线| 亚洲视频在线不卡| 久久在线观看| 碰碰视频免费| 成人三级做爰av| 欧美三级超在线视频| 91青青草免费在线看| 久久久久久久91| 国产精品久久久亚洲一区| 亚洲欧美一区二区三区在线播放| 一本一道久久a久久精品逆3p| 精品视频免费在线观看| 另类小说色综合| 午夜精品久久久久久不卡8050| 紧缚捆绑精品一区二区| 完整版免费av片| 五月天激情四射| 一本色道久久88精品综合| 亚洲男帅同性gay1069| 极品国产人妖chinesets亚洲人妖| 热久久一区二区| 中文字幕乱码av| 精品国产伦一区二区三区观看说明| 337人体粉嫩噜噜噜| 四虎4545www国产精品| 欧美午夜影院在线视频| 四虎影视4hu4虎成人| 亚洲综合久久网| 亚洲一区视频| 天天综合网色中文字幕| 成人做爰高清视频网站| 国产精品男女猛烈高潮激情| 精品av中文字幕在线毛片| 成人手机在线免费视频| sese在线| 日本在线视频站| 成人国产免费视频| 羞羞的视频在线观看| 99超碰在线观看| 久久青草视频| 久久久久综合一区二区三区| 国产无套内射又大又猛又粗又爽| 娇妻被老王脔到高潮失禁视频| 一区二区三区高清在线| 国内精品久久久久久久影视麻豆| a亚洲天堂av| 91麻豆国产香蕉久久精品| 国产一级做a爰片久久| a毛片在线免费观看| 日韩免费观看在线观看| 黄在线观看免费网站ktv| 成人免费观看49www在线观看| 在线heyzo| 顶级黑人搡bbw搡bbbb搡| 宅男深夜免费观看视频| 久久永久免费| 久久99久久98精品免观看软件| 在线看a视频| 亚洲xxxx2d动漫1| 天堂在线一区二区| 国产av第一区| 国产专区中文字幕| 欧美一级视频一区二区| 丝袜美腿亚洲一区二区| 手机在线中文字幕| 日韩精品丝袜美腿| 亚洲一区二区蜜桃| 精品视频免费在线| 成年免费视频| 欧美特黄aaaaaaaa大片| xxx.xxx欧美| 99久久免费视频.com| 久久99深爱久久99精品| 国产一区二区在线观看免费视频| 97午夜影院| 欧美午夜片欧美片在线观看| 日韩理论片av| 六月婷婷一区| 日日悠悠久久| 中文字幕一区二区三区人妻在线视频| 乱人伦中文字幕在线zone| 欧美 亚洲 另类 激情 另类| 久久免费区一区二区三波多野| 欧美区高清在线| 国产黄色片在线观看| 国产经典中年夫妇盗摄| 综合图区欧美| 日韩精品电影一区二区| av免费在线观看网站| 国产不卡在线观看| 欧美电影免费播放| 亚洲人高潮女人毛茸茸| 一区二区三区视频国产日韩| h精品动漫在线观看| 精品无码国产污污污免费网站| mm131美女视频| 亚洲综合专区| 国产成人免费精品| 欧美尤物巨大精品爽| 深夜福利91大全| 成人爽a毛片一区二区免费| 中国大陆高清aⅴ毛片| 日韩三级免费看| 成人黄色免费视频| 九九热视频在线免费观看| 亚洲综合在线观看视频| 国产不卡在线观看| 特黄aaaaaaaaa毛片免费视频| 国产一区精品| 岛国av免费在线观看| 亚洲欧美日韩综合国产aⅴ| 欧美一区二区激情| 91禁男男在线观看| 91精品国产乱码久久久久久| 成人性生交大片免费| 91精品人妻一区二区三区蜜桃欧美| 人妻无码中文久久久久专区| 伊人春色之综合网| 日本熟妇人妻xxxxx| 国产三区在线视频| 色琪琪综合男人的天堂aⅴ视频| 日本在线免费| 亚洲欧美日韩爽爽影院| 婷婷激情综合网| 国产精品久久久久久亚洲av| 一区二区三区不卡在线| 国产成人短视频在线观看| 久久久久久久久97黄色工厂| 999视频在线免费观看| 一区二区免费播放| 成人综合婷婷国产精品久久| 五月天激情图片| 亚洲国产欧美久久| 日本最新一区二区三区视频观看| 欧美日韩另类视频| 婷婷丁香一区二区三区| 国产精品嫩草69影院| 亚洲精品1区|