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

php多線程并發(fā)實現(xiàn)方法

 更新時間:2016年09月30日 09:19:30   作者:Bolshevik  
這篇文章主要介紹了php多線程并發(fā)實現(xiàn)方法,結(jié)合實例形式分析了php模擬多線程并發(fā)的相關(guān)操作技巧,以及在Linux平臺借助shell實現(xiàn)多線程并發(fā)的操作方法,需要的朋友可以參考下

本文實例講述了php多線程并發(fā)實現(xiàn)方法。分享給大家供大家參考,具體如下:

java里多線程就是一個new thread的事情,php依賴apache靠著linux底層有一個多線程的辦法。

這里就來說說如果你無法操控apache的服務(wù)器,如何模擬php并發(fā)

<?php
if(function_exists('date_default_timezone_set')) {
  date_default_timezone_set('PRC');
}
function a()
{
 $time = time();
 sleep(3);
 $fp = fopen('result_a'.$time.'.log', 'w');
 fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
 fclose($fp);
}
function b()
{
 $time = time();
 sleep(3);
 $fp = fopen('result_b'.$time.'.log', 'w');
 fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
 fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
 a();
}
else if($_GET['act'] == 'b') b();
?>

以上代碼,在本地寫入一個文件。

如果你訪問 localhost/a.php 在兩個瀏覽器標簽盡可能快的同時打開,發(fā)現(xiàn)兩個文件創(chuàng)建時間相差為3秒

但是如果你訪問localhost/a.php?act=b 另一個訪問/a.php?act=a 你發(fā)現(xiàn)兩個文件創(chuàng)建的時間幾乎差不多。

對于apache來說同樣的url意味著一個線程(我們或者說是進程),但是不同的URL意味著可以并發(fā)。

如果php內(nèi)部有下載的動作

function runThread()
{
 down("http://localhost/test/a.php?act=a");
}
if($_GET['act'] == 'run')
{
 echo 'start:';
 runThread();
 echo ' End';
}

http://localhost/test/a.php?act=run

http://localhost/test/a.php?act=run&s=2

只要主訪問的url不同,則認為是不同的進行,意味著并發(fā)。文件創(chuàng)建時間不為3秒

本地有Linux服務(wù)器的朋友也可以借助linux來進行模擬并發(fā)

<?php
for ($i=0;$i<10;$i++) {
echo $i;
sleep(5);
}
?>

上面存成test.php, 然后寫一段SHELL代碼

#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
php -q test.php &
done

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP進程與線程操作技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《PHP數(shù)學運算技巧總結(jié)》、《php正則表達式用法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關(guān)文章

  • PHP實現(xiàn)頁面跳轉(zhuǎn)的多種方法

    PHP實現(xiàn)頁面跳轉(zhuǎn)的多種方法

    PHP被許多程序員用來開發(fā)WEB的首選語言,在實際開發(fā)中,網(wǎng)站的各項功能都可以通過PHP語言的編寫來滿足,比如PHP頁面跳轉(zhuǎn)這一方法,本文給大家介紹了PHP實現(xiàn)頁面跳轉(zhuǎn)的多種方法,需要的朋友可以參考下
    2024-10-10
  • php中隱形字符65279(utf-8的BOM頭)問題

    php中隱形字符65279(utf-8的BOM頭)問題

    這篇文章主要介紹了php中隱形字符65279問題解決方法,其實就是utf-8文件的BOM頭,本文給出了一個刪除PHP文件BOM頭的小程序,需要的朋友可以參考下
    2014-08-08
  • PHP基于PDO調(diào)用sqlserver存儲過程通用方法【基于Yii框架】

    PHP基于PDO調(diào)用sqlserver存儲過程通用方法【基于Yii框架】

    這篇文章主要介紹了PHP基于PDO調(diào)用sqlserver存儲過程通用方法,結(jié)合實例形式分析了基于Yii框架采用pdo調(diào)用sqlserver存儲過程的相關(guān)操作步驟與實現(xiàn)技巧,需要的朋友可以參考下
    2017-10-10
  • PHP 過濾頁面中的BOM(實現(xiàn)代碼)

    PHP 過濾頁面中的BOM(實現(xiàn)代碼)

    本篇文章是對PHP中過濾頁面中的BOM的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php解決跨域問題的方法詳解

    php解決跨域問題的方法詳解

    跨域的嚴格一點來說就是只要協(xié)議,域名,端口有任何一個的不同,就被當作是跨域,這篇文章主要為大家詳細介紹了php解決跨域問題的相關(guān)方法,需要的可以參考下
    2024-04-04
  • PHP實現(xiàn)獲取url地址中頂級域名的方法示例

    PHP實現(xiàn)獲取url地址中頂級域名的方法示例

    這篇文章主要介紹了PHP實現(xiàn)獲取url地址中頂級域名的方法,結(jié)合實例形式分析了php使用parse_url()針對URL域名解析相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • 深入了解PHP類Class的概念

    深入了解PHP類Class的概念

    日常環(huán)境由無數(shù)實體組成:植物、人群、交通工具、食物……實在是太多了,光是把它們列出來都要花上幾個小時的時間。每個實體都由一組性質(zhì)和行為來定義
    2012-06-06
  • PHP 時間轉(zhuǎn)換Unix時間戳代碼

    PHP 時間轉(zhuǎn)換Unix時間戳代碼

    PHP 時間轉(zhuǎn)換Unix 時間戳實現(xiàn)代碼。
    2010-01-01
  • PHP 冒泡排序算法的實現(xiàn)代碼

    PHP 冒泡排序算法的實現(xiàn)代碼

    冒泡排序算法是很多學習計算機的人必修的一種最基礎(chǔ)的算法。今天在網(wǎng)上找了很多代碼,發(fā)現(xiàn)有c++的,有Ruby的,有Java的等等,就是很少找到php的,于是我就自己寫了一下php的冒泡排序算法,希望對大家有所幫助。
    2010-08-08
  • PHP對京東聯(lián)盟CPS的API調(diào)用

    PHP對京東聯(lián)盟CPS的API調(diào)用

    這篇文章介紹了PHP調(diào)用京東聯(lián)盟API的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論

醴陵市| 南岸区| 六安市| 西乡县| 平湖市| 定襄县| 和静县| 芒康县| 阿图什市| 黄山市| 永济市| 门源| 贵阳市| 民县| 东平县| 郁南县| 富平县| 高唐县| 分宜县| 咸阳市| 固镇县| 麟游县| 巴彦淖尔市| 平塘县| 五寨县| 恩施市| 两当县| 龙门县| 大余县| 红原县| 黔东| 墨脱县| 曲阳县| 平湖市| 电白县| 元谋县| 江阴市| 滨州市| 潞西市| 三原县| 延长县|