DownloadHow this work?
Well its basically "exec" with serialised closure. "Dressed" in nice libs like symfony process and console.
I serialise callable function and sent to child process by exec. To get callback I register shutdown function and wait for process to finish. 
Why not pcntl ?
- 
Pcntl extension fork, so you can forget using it in web applications like apache2/php-fpm etc its only for CLI
 
- 
forks retains the parent state (for example open files) so its problematic
 
 
Problems ?
- 
Calling exec is slower then fork
 
- 
Some resource/function/data must be passed directly to closure
 
 
Some research
- 
https://www.phproundtable.com/episode/asynchronous-php - good start to "know how" make php async
 
- 
https://amphp.org/ - non-blocking framework for PHP
 
 
Example ?
Sure take a look - https://github.com/krowinski/async/blob/master/example/example.php 
Supports M$ Windows?
NO. 
TODO
- 
process limit
 
- 
timeouts 
 
- 
tests
 
 
 |