最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php中pcntl_fork創(chuàng)建子進(jìn)程的方法實(shí)例

 更新時(shí)間:2019年03月14日 09:45:23   作者:繁星落眼眶  
這篇文章主要介紹了php中pcntl_fork創(chuàng)建子進(jìn)程的方法實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

一、php中pcntl_fork函數(shù)概述

pcntl_fork()函數(shù)是php中用于創(chuàng)建子進(jìn)程的一個(gè)函數(shù),返回創(chuàng)建的子進(jìn)程的pid。

該函數(shù)創(chuàng)建子進(jìn)程具體fork的過程:

(1)調(diào)用該函數(shù)即創(chuàng)建一個(gè)子進(jìn)程,創(chuàng)建成功父進(jìn)程返回子進(jìn)程的pid,子進(jìn)程返回0;
(2)創(chuàng)建子進(jìn)程實(shí)際上對(duì)父進(jìn)程的一個(gè)拷貝,共享代碼空間,拷貝父進(jìn)程的數(shù)據(jù),也就是說父進(jìn)程改變父進(jìn)程的數(shù)據(jù),子進(jìn)程改變子進(jìn)程的數(shù)據(jù)變量等;

二、示例代碼分析

代碼示例:

<?php
  $curr_pid = posix_getpid();//獲取當(dāng)前的進(jìn)程id
  
  //將當(dāng)前進(jìn)程的id寫入文件中
  echo '當(dāng)前進(jìn)程:'.$curr_pid.PHP_EOL;
  
  //開始創(chuàng)建子進(jìn)程
  $son_pid = pcntl_fork();//返回子進(jìn)程的id
 
  //查看當(dāng)前進(jìn)程
  echo '創(chuàng)建子進(jìn)程之后當(dāng)前的進(jìn)程為:'.posix_getpid().PHP_EOL;
  
  //創(chuàng)建了子進(jìn)程之后
  if($son_pid > 0){
    echo '子進(jìn)程id:'.$son_pid.PHP_EOL;
  }

以上代碼執(zhí)行后結(jié)果為:

示例代碼分析:

(1)發(fā)現(xiàn)創(chuàng)建了子進(jìn)程之后,系統(tǒng)會(huì)切換到子進(jìn)程中,而子進(jìn)程中的代碼是從含有pcntl_fork函數(shù)的那行執(zhí)行的
(2)創(chuàng)建子進(jìn)程之后,子進(jìn)程的代碼段是拷貝pcntl_fork函數(shù)及之后的代碼段,之前的代碼段并不拷貝,但是具體的數(shù)據(jù)變量子進(jìn)程仍然會(huì)拷貝
(3)可見,fork之后程序會(huì)分叉執(zhí)行,即子進(jìn)程執(zhí)行

三、pcntl_fork的業(yè)務(wù)場景舉例

  1. php的多進(jìn)程中,常用pcntl_fork來實(shí)現(xiàn)并發(fā),多用于一些簡單工具的實(shí)現(xiàn)。
  2. 例如監(jiān)控工具,想要監(jiān)控幾個(gè)不同指標(biāo)的情形,可以使用主進(jìn)程監(jiān)控各指標(biāo)的配置變化,然后對(duì)每個(gè)指標(biāo)分別fork一個(gè)子進(jìn)程來監(jiān)控其具體的情形,當(dāng)主進(jìn)程發(fā)現(xiàn)指標(biāo)的配置改變則kill掉之前的子進(jìn)程重新創(chuàng)建子進(jìn)程進(jìn)行監(jiān)控。
  3. 主進(jìn)程進(jìn)行業(yè)務(wù)分發(fā)操作,子進(jìn)程進(jìn)行具體的業(yè)務(wù)邏輯執(zhí)行。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 修改destoon會(huì)員公司的偽靜態(tài)中的com目錄的方法

    修改destoon會(huì)員公司的偽靜態(tài)中的com目錄的方法

    這篇文章主要介紹了修改destoon會(huì)員公司的偽靜態(tài)中的com目錄的方法,在偽靜態(tài)設(shè)置中很實(shí)用的技巧,需要的朋友可以參考下
    2014-08-08
  • PHP遞歸刪除多維數(shù)組中的某個(gè)值

    PHP遞歸刪除多維數(shù)組中的某個(gè)值

    這篇文章主要介紹了PHP遞歸刪除多維數(shù)組中的某個(gè)值,需要的朋友可以參考下
    2017-04-04
  • php命令行使用方法和命令行參數(shù)說明

    php命令行使用方法和命令行參數(shù)說明

    這篇文章主要介紹了php命令行使用方法和命令行參數(shù)說明,需要的朋友可以參考下
    2014-04-04
  • ThinkPHP中create()方法自動(dòng)驗(yàn)證實(shí)例

    ThinkPHP中create()方法自動(dòng)驗(yàn)證實(shí)例

    下面小編就為大家?guī)硪黄猅hinkPHP中create()方法自動(dòng)驗(yàn)證實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)方法實(shí)例

    ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)方法實(shí)例

    這篇文章主要介紹了ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)方法,實(shí)例分析了ThinkPHP中自動(dòng)填充的用法以及使用函數(shù)與回調(diào)的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • php導(dǎo)入模塊文件分享

    php導(dǎo)入模塊文件分享

    本文給大家分享的是php導(dǎo)入模塊文件分享,主要參數(shù)有導(dǎo)入文件路徑字符串,可以用"."代替"/", 導(dǎo)入文件類型的擴(kuò)展名(帶"."號(hào)),也可以是class/inc(簡寫方式), 如果導(dǎo)入成功則返回true,否則返回異常對(duì)象,有需要的小伙伴參考下吧。
    2015-03-03
  • 四個(gè)常見html網(wǎng)頁亂碼問題及解決辦法

    四個(gè)常見html網(wǎng)頁亂碼問題及解決辦法

    當(dāng)我們做網(wǎng)頁時(shí),經(jīng)常會(huì)遇到網(wǎng)頁中文亂碼,那么此問題如何解決呢,下面腳本之家的小編給大家分享四個(gè)常見html網(wǎng)頁亂碼問題及解決辦法,需要的朋友可以參考下
    2015-09-09
  • php中的curl使用入門教程和常見用法實(shí)例

    php中的curl使用入門教程和常見用法實(shí)例

    起先cURL是做為一種命令行工具設(shè)計(jì)出來的,比較幸運(yùn)的是,php也支持cURL了。通過cURL這個(gè)利器,我們能在php程序中自由地發(fā)送HTTP請(qǐng)求到某個(gè)url來獲取或者提交數(shù)據(jù),并且支持其它多種協(xié)議,比如FTP,Telnet以及SMTP等。在這篇博文中,我將簡述下,在php中具體怎么使用cURL來處理一些事情。
    2014-04-04
  • Laravel 集成 Geetest驗(yàn)證碼的方法

    Laravel 集成 Geetest驗(yàn)證碼的方法

    這篇文章主要介紹了Laravel 集成 Geetest驗(yàn)證碼的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • PHP如何批量修改二維數(shù)組中值(五種方案)

    PHP如何批量修改二維數(shù)組中值(五種方案)

    這篇文章主要介紹了PHP如何批量修改二維數(shù)組中值,本文給大家分享五種解決方案,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-10-10

最新評(píng)論

晋宁县| 勃利县| 龙海市| 资中县| 楚雄市| 大理市| 江北区| 民和| 泊头市| 库伦旗| 杂多县| 梅河口市| 柳河县| 调兵山市| 深泽县| 佛坪县| 南江县| 马山县| 应城市| 灵川县| 灵石县| 华池县| 柳江县| 江山市| 咸阳市| 广水市| 甘孜| 沅江市| 于都县| 城市| 长垣县| 寻甸| 怀远县| 广河县| 齐河县| 临漳县| 伊川县| 城步| 嵊州市| 英德市| 柯坪县|