php安装threads多线程扩展,phpthreads多线程_PHP教程

WBOY
Freigeben: 2016-07-12 09:04:44
Original
889 Leute haben es durchsucht

php安装threads多线程扩展,phpthreads多线程

php5.3或以上,且为线程安全版本。apache和php使用的编译器必须一致。
通过phpinfo()查看Thread Safety为enabled则为线程安全版。
通过phpinfo()查看Compiler项可以知道使用的编译器。本人的为:MSVC9 (Visual C++ 2008)。

 

一、下载pthreads扩展
下载地址:http://windows.php.net/downloads/pecl/releases/pthreads

 

二、安装pthreads扩展
复制php_pthreads.dll 到目录 bin\php\ext\ 下面。
复制pthreadVC2.dll 到目录 bin\php\ 下面。
复制pthreadVC2.dll 到目录 C:\windows\system32 下面。
打开php配置文件php.ini。在后面加上extension=php_pthreads.dll
提示!Windows系统需要将 pthreadVC2.dll 所在路径加入到 PATH 环境变量中。我的电脑--->鼠标右键--->属性--->高级--->环境变量--->系统变量--->找到名称为Path的--->编辑--->在变量值最后面加上pthreadVC2.dll的完整路径(本人的为C:\WINDOWS\system32\pthreadVC2.dll)。

 

三、添加thread类

<?php<br />class Thread<br />{<br /><br />    var $hooks = array();<br />    var $args = array();<br /><br />    function thread()<br />    {<br /><br />    }<br /><br />    function addthread($func)<br />    {<br />        $args = array_slice(func_get_args(), 1);<br />        $this->hooks[] = $func;<br />        $this->args[] = $args;<br />        return true;<br />    }<br /><br />    function runthread()<br />    {<br />        if(isset($_GET['flag']))<br />        {<br />            $flag = intval($_GET['flag']);<br />        }<br />        if($flag || $flag === 0)<br />        {<br />            call_user_func_array($this->hooks[$flag], $this->args[$flag]);<br />        }<br />        else<br />        {<br />            for($i = 0, $size = count($this->hooks); $i < $size; $i++)<br />            {<br />                $fp=fsockopen($_SERVER['HTTP_HOST'],$_SERVER['SERVER_PORT']);<br />                if($fp)<br />                {<br />                    $out = "GET {$_SERVER['PHP_SELF']}?flag=$i HTTP/1.1rn";<br />                    $out .= "Host: {$_SERVER['HTTP_HOST']}rn";<br />                    $out .= "Connection: Closernrn";<br />                    fputs($fp,$out);<br />                    fclose($fp);<br />                }<br />            }<br />        }<br />    }<br />}<br /><br /><br />
Nach dem Login kopieren

四、测试pthreads扩展

include('thread.php');<br />class AsyncOperation extends Thread {<br />    public function __construct($arg){<br />        $this->arg = $arg;<br />    }<br /><br />    public function run(){<br />        if($this->arg){<br />            printf("Hello %s\n", $this->arg);<br />        }<br />    }<br />}<br />$thread = new AsyncOperation("World");<br />if($thread->start())<br />    $thread->join();<br /><br /><br />
Nach dem Login kopieren

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1072011.htmlTechArticlephp安装threads多线程扩展,phpthreads多线程 php5.3或以上,且为线程安全版本。apache和php使用的编译器必须一致。 通过phpinfo()查看Thread Safety为...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!