国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php進程間通訊實例分析

2020-03-22 19:28:13
字體:
來源:轉載
供稿:網友
本文實例講述了php進程間通訊的方法。分享給大家供大家參考,具體如下:php單進程單線程處理批量任務太慢了,受不鳥了,但是php不能多線程,最終選擇了多進程處理批量任務.php多進程主要使用for進行分裂,然后利用的unix/linux的信號量進行進程間通訊.本例使用的是:生產者= 消費者= 收集器,的模式.// ===== html' target='_blank'>全局變量 =====// ipc進程間通訊$key = ftok(__FILE__, "a");$queue = msg_get_queue($key);// 進程ID$producer_pid = 0;$consumers_pid = array();$collector_pid = posix_getpid();// ===== 消費者 =====for ($i=0; $i $i++) { $consumer_pid = pcntl_fork(); if ($consumer_pid == -1) { exit("could not fork!/n"); } else if ($consumer_pid) { // pcntl_wait($status); echo "consumer_pid: $consumer_pid/n"; $consumers_pid[] = $consumer_pid; } else { $pid = posix_getpid(); echo "consumer_pid: $pid start/n"; while (true) { msg_receive($queue, $pid, $msgtype, 1024, $message); if ($message == "exit") { break; // 數據處理 $n = intval($message); msg_send($queue, $collector_pid, $n * $n); exit("consumer ok!/n");// ===== 產生者 =====$producer_pid = pcntl_fork();if ($producer_pid == -1) { exit("could not fork!/n");} else if ($producer_pid) { // pcntl_wait($status); echo "producer_pid: $producer_pid/n";} else { $pid = posix_getpid(); echo "producer_pid: $pid start/n"; $n = 0; for ($i=0; $i $i++) { foreach ($consumers_pid as $consumer_pid) { $n++; msg_send($queue, $consumer_pid, $n); sleep(1); foreach ($consumers_pid as $consumer_pid) { msg_send($queue, $consumer_pid, "exit"); sleep(1); msg_send($queue, $collector_pid, "exit"); exit("producer ok!/n");// ===== 收集器 =====while (true) { msg_receive($queue, $collector_pid, $msgtype, 1024, $message); if ($message == "exit") { break; echo sprintf("% 5d: %d/n", $msgtype, $message);exit("collector ok!/n");更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP進程與線程操作技巧總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》希望本文所述對大家PHP程序設計有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沾益县| 武冈市| 牟定县| 嘉兴市| 绍兴县| 中阳县| 宁南县| 汕尾市| 霍林郭勒市| 万盛区| 定结县| 老河口市| 海原县| 北票市| 沈阳市| 崇文区| 大连市| 永胜县| 射洪县| 京山县| 濮阳县| 东至县| 吉安市| 彭阳县| 上饶县| 邯郸县| 元阳县| 丘北县| 贡嘎县| 平山县| 宝坻区| 元江| 图片| 科技| 沿河| 合山市| 康乐县| 揭阳市| 平顺县| 登封市| 庆云县|