PHP的线程库:pthreads

jopen 10年前

该项目为 PHP 提供基于 POSIX 的多线程编程机制。可异步执行任何与定义的用户自定义方法和函数。内建支持同步和同步方法。

亮点

  • 一个易于使用,快速学习的 Threading API for PHP5.3+
  • Execute any and all predefined and user declared methods and functions asynchronously
  • Ready made synchronization included, geared towards the PHP environment
  • Seamless operation in multi-threaded SAPI environments
  • A world of possibilities ...

技术特性

  • Posix Threads
  • Synchronization
  • Worker Threads
  • Synchronized Methods
  • Complete Support for OO - ie. traits, interfaces, inheritance
  • Full read/write/execute support for threaded objects
  • Mutex ( direct, subset )
  • Conditions ( direct, subset )

pthreads was written with simplicity, compatibility and efficiency in mind, it's performance beggars belief !!

环境要求

  • PHP5.3+
  • ZTS Enabled ( Thread Safety )
  • Posix Threads Implementation

Testing has been carried out on x86, x64 and ARM, in general you just need a compiler and pthread.h

PHP 版本支持

pthreads should compile and work in any version of PHP from 5.3.0 to the latest release.

示例代码:

<?php  class AsyncOperation extends Thread {    public function __construct($arg){      $this->arg = $arg;    }      public function run(){      if($this->arg){        printf("Hello %s\n", $this->arg);      }    }  }  $thread = new AsyncOperation("World");  if($thread->start())    $thread->join();  ?>

项目主页:http://www.open-open.com/lib/view/home/1391824675848