當前位置:編程學習大全網 - 編程語言 - 有什麽辦法可以實現php控制多線程運行

有什麽辦法可以實現php控制多線程運行

php(做為現在的主流開發語言)中實現多線程? 看到這個標題, 妳壹定以為我瘋了..但是事實上我真的這麽做了.

下面是我的壹些做法, 已經實驗過. 確實可以的.

我們知道php(做為現在的主流開發語言)本身是不支持多線程的, 但是我們的WEB服務器是支持多線程的.

也就是說可以同時讓多人壹起訪問. 這也是我在php(做為現在的主流開發語言)中實現多線程的基礎.

假設我們現在運行的是a.php(做為現在的主流開發語言)這個文件. 但是我在程序中又請求WEB服務器運行另壹個b.php(做為現在的主流開發語言)

那麽這兩個文件將是同時執行的.

(PS: 壹個鏈接請求發送之後, WEB服務器就會執行它, 而不管客戶端是否已經退出)

有些時候, 我們想運行的不是另壹個文件, 而是本文件中的壹部分代碼.該怎麽辦呢?

其實可是通過參數來控制a.php(做為現在的主流開發語言)來運行哪壹段程序.

下面看壹個例子:

//a.php(做為現在的主流開發語言)

php(做為現在的主流開發語言)代碼:--------------------------------------------------------------------------------

<?php(做為現在的主流開發語言)

function runThread()

{

$fp = fsockopen(localhost, 80, $errno, $errmsg);

fputs($fp, "GET /a.php(做為現在的主流開發語言)?act=b "); //這裏的第二個參數是HTTP協議中規定的請求頭

//不明白的請看RFC中的定義

fclose($fp);

}

function a()

{

$fp = fopen(result_a.log, w);

fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");

fclose($fp);

}

function b()

{

$fp = fopen(result_b.log, w);

fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");

  • 上一篇:四川核工業技師學院管理嚴格嗎?
  • 下一篇:計算機類論文怎麽寫?
  • copyright 2024編程學習大全網