AzaThread - Anizoptera CMF simple and powerful threads emulation component for PHP (based on forks).

v1.1 2013-05-28 13:05 UTC

This package is not auto-updated.

Last update: 2022-11-26 05:21:42 UTC


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.