Skip to content
Go to file
This branch is 4 commits ahead, 4 commits behind amal:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Simple and powerful threads emulation component for PHP (based on forks). Old name - CThread.

Build Status

Table of Contents

  1. Introduction
  2. Requirements
  3. Installation
  4. Documentation and examples
  5. Tests
  6. Credits
  7. License
  8. Links



  • Uses forks to operate asynchronously;
  • Supports synchronous compatibility mode if there are no required extensions;
  • Reuse of the child processes;
  • Full exchange of data between processes. Sending arguments, receiving results;
  • Transfer of events between the "thread" and the parent process;
  • Working with a thread pool with preservation of multiple use, passing arguments and receiving results;
  • Uses libevent with socket pairs for efficient inter-process communication;
  • Supports two variants of data serialization for transfer (igbinary, native php serialization);
  • Errors handling;
  • Timeouts for work, child process waiting, initialization;
  • Maximum performance and customization;


  • PHP 5.3.3 (or later);
  • Unix system;
  • libevent;
  • pcntl;
  • posix;
  • AzaLibevent - will be installed automatically with composer;
  • AzaSocket - will be installed automatically with composer;
  • AzaCliBase - will be installed automatically with composer;

NOTE: You can use synchronous compatibility mode even without requirements (or on windows, for example).


The recommended way to install AzaThread is through composer. You can see package information on Packagist.

	"require": {
		"aza/thread": "~1.0"

Documentation and examples

See full documentation and main examples. Documentation is available in several languages​​!

Other examples can be seen in the file examples/example.php and in unit test Tests/ThreadTest.php.

You can also run the performance tests, choose the number of threads and pick the best settings for your system configuration by using examples/speed_test.php.


Tests are in the Tests folder. To run them, you need PHPUnit. Example:

$ phpunit --configuration phpunit.xml.dist


AzaThread is a part of Anizoptera CMF, written by Amal Samally (amal.samally at and AzaGroup team.


Released under the MIT license.


You can’t perform that action at this time.