1 20 50 150 500
欢迎来到瑞博软件站,找素材,搜软件,就上瑞博软件站!
当前位置 >首页 >软件下载 >电脑软件 >编程开发 >编程其他

php_pthreads win版 0.0.45 官方最新版

软件信息
  • 分类:编程其他
  • 大小:877KB
  • 语言: 英文
  • 环境: WinAll, Win7
  • 更新:2024-11-12
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国外软件 / 免费软件 / 编程控件
  • 插件情况:

以前使用curl的多线程并不是真正的多线程,只是一种模拟的多线程,现在使用pthreads来实现真正意义上的多线程。

什么是线程?

线程和进程十分相似,不同的只是线程比进程小。首先,线程采用了多个线程可共享资源的设计思想;例如,它们的操作大部分都是在同一地址空间进行的。其次,从一个线程切换到另一线程所花费的代价比进程低。再次,进程本身的信息在内存中占用的空间比线程大,因此线程更能允分地利用内存。

线程之间通常需要进行交互,因此就存在使用 IPC 进行多进程通信的问题。本文中对于多进程通信问题不做过多的讨论,因为 POXIS 线程 API 提供了处理诸如死锁和竞态条件这类问题的工具。本文主要讨论特定于多线程编程的问题和解决方案,一般的多道程序设计问题留待以后讨论。

线程程序有时会出现在多进程和 IPC 程序设计中不常出现的一些问题。例如,如果两个线程同时调用一个函数,如 asctime() (它使用一个静态的数据区),会产生不可思议的结果。这是“线程安全”要考虑的问题。

安装方式:

windows下:

    解压得到pthreadVC2.dll和php_pthreads.dll文件,把vc2文件放到php.exe同级目录,把php_pthreads.dll放到扩展目录下。

    修改php.ini文件 添加extension=php_pthreads.dll

    修改Apache配置文件httpd.conf 添加LoadFile "yourpath/php/pthreadVC2.dll"

调用方式:

结合以前的get_html也可以这样来实现类

1 class threads extends Thread

 2 {

 3     public $url = '';

 4     public $options = array();

 5     public $data;

 6 

 7     public function __construct($url, $options = array()){

 8         $this->url = $url;

 9         $this->options = $options;

10     }

11 

12     public function run(){

13         if(!empty($this->url)){

14             $this->data = $this->get_html($this->url, $this->options);

15         }

16     }

17 

18     public function get_html($url,$options = array()){

19         if(empty($options)){

20             $options[CURLOPT_RETURNTRANSFER] = true;

21             $options[CURLOPT_TIMEOUT] = 5;

22         }

23         $ch = curl_init($url);

24         curl_setopt_array($ch,$options);

25         $html = curl_exec($ch);

26         curl_close($ch);

27         if($html === false){

28             return false;

29         }

30         return $html;

31     }

32 }


下载地址

热门软件

Top