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

實(shí)例講解php實(shí)現(xiàn)多線程

 更新時(shí)間:2019年01月27日 15:22:55   投稿:laozhang  
在本篇文章里小編給大家分享了關(guān)于php實(shí)現(xiàn)多線程的相關(guān)知識(shí)點(diǎn)以及實(shí)例內(nèi)容,以后興趣的朋友們學(xué)習(xí)下。

我們首先來(lái)看一個(gè)示例

<?php
 
class execMulti {
 function MultithreadTest {
  exec("php static_massive.php > /dev/null &");
 
  echo "處理完成了";
 }
}
?>

當(dāng)執(zhí)行上述操作時(shí),即使在耗時(shí)的處理結(jié)束之前也顯示處理完成。

exec("php static_massive.php > /dev/null &");

由于“ > / dev / null& ”返回的值丟失,我們不會(huì)等待響應(yīng)。

因此,處理完成指示比耗時(shí)處理更快。

但是,該方法不知道耗時(shí)的處理何時(shí)結(jié)束。

不要忘記考慮采取日志的執(zhí)行,登錄DB等方法向用戶傳遞執(zhí)行結(jié)果。

用于多線程的方法(pthreads)

最后,介紹使用PHP擴(kuò)展模塊pthreads的方法。

它可以比上面使用exec的方法更簡(jiǎn)單。

①配置環(huán)境并安裝php

請(qǐng)使用vagrant等準(zhǔn)備喜歡的環(huán)境。

php 需要使用線程安全版本,這是多線程和安全的實(shí)現(xiàn)。

從官方下載線程安全版本的 PHP。

訪問(wèn)以下內(nèi)容并從圖中的紅框下載。

http://www.php.net/downloads.php

此外,對(duì)于線程安全安裝,您需要使用configure選項(xiàng)指定-enable-maintainer-zts。

./configure --enable-maintainer-zts

根據(jù)需要,也可以安上Apache和mysql的選項(xiàng)。

用以下命令確認(rèn)了php的版本就可以了。

php -v

②pthreads的安裝

我們來(lái)下載zip格式。

https://github.com/krakjoe/pthreads/archive/master.zip

解壓zip,移動(dòng)到解壓縮文件,然后執(zhí)行phpize。

如果您在PHP模塊列表上運(yùn)行pthreads,則可以執(zhí)行以下操作。

php -m

根據(jù)環(huán)境的不同,這一塊的設(shè)定也會(huì)有所不同,可以用環(huán)境名+pthreads等進(jìn)行檢索來(lái)尋找信息。

③嘗試使用多線程

示例如下

<?php
class pthreadsTest extends Thread {
 public function run () {
  sleep(5);
 }
}
$ts1 = new pthreadsTest();
$ts1->start(); 
$ts2 = new pthreadsTest();
$ts2->start(); 
?>

因?yàn)閟leep(5)被調(diào)用兩次,所以需要10秒,但實(shí)際上它將是5秒。

相關(guān)文章

  • Laravel基礎(chǔ)_關(guān)于view共享數(shù)據(jù)的示例講解

    Laravel基礎(chǔ)_關(guān)于view共享數(shù)據(jù)的示例講解

    今天小編就為大家分享一篇Laravel基礎(chǔ)_關(guān)于view共享數(shù)據(jù)的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • Zend Framework教程之Zend_Layout布局助手詳解

    Zend Framework教程之Zend_Layout布局助手詳解

    這篇文章主要介紹了Zend Framework教程之Zend_Layout布局助手用法,結(jié)合實(shí)例形式詳細(xì)分析了Layout布局的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    這篇文章主要介紹了Smarty模板變量與調(diào)節(jié)器,結(jié)合實(shí)例形式詳細(xì)分析了Smarty模板變量與調(diào)節(jié)器基本概念、分類、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • php預(yù)定義變量使用幫助(帶實(shí)例)

    php預(yù)定義變量使用幫助(帶實(shí)例)

    php取得外部變量的首選方法是用下面提及的超全局變量。在此之前,人們要么依賴 register_globals,要么就是長(zhǎng)長(zhǎng)的預(yù)定義 PHP 數(shù)組($HTTP_*_VARS)。自 PHP 5.0.0 起,長(zhǎng)格式的 PHP 預(yù)定義變量可以通過(guò)設(shè)置 register_long_arrays 來(lái)屏蔽。
    2013-10-10
  • Laravel5.1框架注冊(cè)中間件的三種場(chǎng)景詳解

    Laravel5.1框架注冊(cè)中間件的三種場(chǎng)景詳解

    這篇文章主要介紹了Laravel5.1框架注冊(cè)中間件的三種場(chǎng)景,結(jié)合實(shí)例形式詳細(xì)分析了Laravel5.1框架控制器中的方法進(jìn)行注冊(cè)、給整個(gè)控制器進(jìn)行注冊(cè)以及給全局注冊(cè)中間件三種應(yīng)用場(chǎng)景,需要的朋友可以參考下
    2019-07-07
  • 百度實(shí)時(shí)推送api接口應(yīng)用示例

    百度實(shí)時(shí)推送api接口應(yīng)用示例

    這篇文章主要介紹了百度實(shí)時(shí)推送api接口應(yīng)用示例,非常的實(shí)用,有需要的朋友可以參考下
    2014-10-10
  • php安裝xdebug/php安裝pear/phpunit詳解步驟(圖)

    php安裝xdebug/php安裝pear/phpunit詳解步驟(圖)

    PHP環(huán)境中安裝pear、phpunit以及xdebug全攻略,大家參考使用吧
    2013-12-12
  • thinkPHP基于ajax實(shí)現(xiàn)的菜單與分頁(yè)示例

    thinkPHP基于ajax實(shí)現(xiàn)的菜單與分頁(yè)示例

    這篇文章主要介紹了thinkPHP基于ajax實(shí)現(xiàn)的菜單與分頁(yè),結(jié)合實(shí)例形式分析了thinkPHP基于ajax無(wú)刷新交互實(shí)現(xiàn)菜單及分頁(yè)功能的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下
    2016-07-07
  • Zend的MVC機(jī)制使用分析(二)

    Zend的MVC機(jī)制使用分析(二)

    本篇文章介紹了,Zend的MVC機(jī)制使用分析,需要的朋友參考下
    2013-05-05
  • ThinkPHP實(shí)現(xiàn)跨模塊調(diào)用操作方法概述

    ThinkPHP實(shí)現(xiàn)跨模塊調(diào)用操作方法概述

    使用 $this 可以調(diào)用當(dāng)前模塊內(nèi)的方法,但是很多情況下經(jīng)常會(huì)在當(dāng)前模塊中調(diào)用其他模塊的方法。這篇文章主要介紹了ThinkPHP跨模塊調(diào)用操作,需要的朋友可以參考下
    2014-06-06

最新評(píng)論

双鸭山市| 淳安县| 南安市| 孝昌县| 荣成市| 梓潼县| 德化县| 清涧县| 余江县| 麦盖提县| 定远县| 高陵县| 沾化县| 平阳县| 大足县| 五寨县| 恩施市| 黄陵县| 枣阳市| 阆中市| 天津市| 舒兰市| 菏泽市| 昭平县| 周宁县| 汕头市| 车致| 香河县| 大港区| 密云县| 梨树县| 常熟市| 洮南市| 邯郸市| 新源县| 乌兰县| 江源县| 秦皇岛市| 河西区| 固原市| 嘉义市|