A thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. In the PHP, you can divide and conquer your planned process efficiently by Thread.
The below is the simple example of thread:
<?php class workerThread extends Thread { public function __construct($i) { $this->i=$i; } public function run() { while(true) { echo $this->i; sleep(1); } } } for($i=0;$i<50;$i++) { $workers[$i]=new workerThread($i); $workers[$i]->start(); } ?>
To understand of the concept for Thread, below example will be super helpful:
<?php class STD extends Thread{ public function put() { $this->synchronized(function() { for($i=0;$i<7;$i++) { printf("%d\n",$i); $this->notify(); if($i < 6) $this->wait(); else exit(); sleep(1); } }); } public function flush() { $this->synchronized(function() { for($i=0;$i<7;$i++) { flush(); $this->notify(); if($i < 6) $this->wait(); else exit(); } }); } } class A extends Thread { private $std; public function __construct($std) { $this->std = $std; } public function run() { $this->std->put(); } } class B extends Thread { private $std; public function __construct($std) { $this->std = $std; } public function run() { $this->std->flush(); } } ob_end_clean(); echo str_repeat(" ", 1024); $std = new STD(); $ta = new A($std); $tb = new B($std); $ta->start(); $tb->start();