The History and Future of Concurrent PHP

The future of concurrency in PHP has been decided, and it's made of Fibers. The history of concurrency in PHP stretches back at least ten years, when the first attempt at a multi-threading API – modelled after Java – was released by myself.
We'll briefly go over that history, discuss the mistakes I made in writing pthreads, and take a look at the modern alternative in parallel – a CSP-based parallel concurrency API modelled after Go.
We'll discuss the hoops that any multi-threading API must jump through to achieve parallel concurrency for PHP, and in contrast the simplicity of Fibers.
Hopefully, listeners will have a good idea of why Fibers are probably the right tool for PHP, and why parallel concurrency is
unlikely to feature in the future of PHP.


  • No prior knowledge necesarry


  • What are Fibers good for
  • What are Threads good for
  • Why you probably don't need Threads
  • Why you probably don't need Fibers
  • How to deploy Fibers if you do need them



Joe Watkins
Joe Watkins is a fixture of the internals community. Having written extensions, patches, and a debugger for PHP he's intimately familiar with most parts of PHP internals. Joe is currently engaged as the veteran release manager for PHP 8.1, and still spends a lot of time working on and for PHP. Days off and weekends tend to start with finding a reason to ride a motorcycle somewhere, and end in the company of family which includes 3 dogs, 2 children, and a wife.


Sie möchten über die betterCode() PHP
auf dem Laufenden gehalten werden?