# reactphp/event-loop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/reactphp-event-loop).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

1,329 stars · 131 forks · PHP · MIT

## Links

- GitHub: https://github.com/reactphp/event-loop
- Homepage: https://reactphp.org/event-loop/
- awesome-repositories: https://awesome-repositories.com/repository/reactphp-event-loop.md

## Topics

`event-loop` `php` `reactphp`

## Description

An asynchronous I/O and reactor event loop library for PHP, this project provides core primitives for coordinating non-blocking operations, managing system resources, and scheduling background tasks. The runtime executes concurrent operations by continuously running tick-based loop iterations that process pending timers, network streams, deferred callbacks, and system signals through efficient system-level polling mechanisms.

The library coordinates event-driven execution using asynchronous timers for one-off or periodic tasks, next-tick deferred execution for breaking down workloads, and stream readiness multiplexing to trigger non-blocking read and write callbacks. Additional capabilities include asynchronous domain name resolution, concurrent child process execution, and operating system signal handling for responding to external process events without halting the main execution flow.

## Tags

### Data & Databases

- [I/O Readiness Multiplexing](https://awesome-repositories.com/f/data-databases/data-i-o/streaming-i-o/i-o-readiness-multiplexing.md) — Watches low-level stream resources for readiness to read or write, triggering callbacks to manage smooth data transfer. ([source](https://github.com/reactphp/event-loop/tree/1.x))
- [Asynchronous Incremental Transfers](https://awesome-repositories.com/f/data-databases/incremental-data-streaming/asynchronous-incremental-transfers.md) — Reads and writes data streams incrementally and asynchronously without blocking the main execution flow. ([source](https://reactphp.org/))
- [Periodic Timer Callbacks](https://awesome-repositories.com/f/data-databases/metadata-caching/cache-expiration-management/cache-expiration-callbacks/periodic-timer-callbacks.md) — Executes registered callbacks repeatedly at fixed time intervals until explicitly cancelled. ([source](https://reactphp.org/event-loop/))

### Game Development

- [Event Loop Tick Scheduling](https://awesome-repositories.com/f/game-development/physics-engines/simulation-tick-callbacks/event-loop-tick-scheduling.md) — Coordinates asynchronous tasks through continuous tick-based loop iterations processing timers and streams.

### DevOps & Infrastructure

- [Delayed Task Scheduling](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-schedulers/delayed-task-scheduling.md) — Schedules background tasks to run after specified delays or intervals without blocking the main thread.

### Graphics & Multimedia

- [System Resource Polling](https://awesome-repositories.com/f/graphics-multimedia/gpu-resource-allocation-tracking/periodic-metrics-polling/system-resource-polling.md) — Monitors underlying system resources and stream availability by delegating to efficient system-level polling mechanisms.

### Networking & Communication

- [Stream Multiplexing](https://awesome-repositories.com/f/networking-communication/peer-to-peer-streaming/stream-multiplexing.md) — Multiplexes concurrent input and output channels to trigger non-blocking read and write callbacks.
- [Asynchronous Lookups](https://awesome-repositories.com/f/networking-communication/dns-resolution/asynchronous-lookups.md) — Executes non-blocking domain name lookups to retrieve network addresses without stalling concurrent operations.
- [Asynchronous Lookups](https://awesome-repositories.com/f/networking-communication/domain-name-resolution-services/asynchronous-lookups.md) — Executes non-blocking domain name lookups to retrieve network addresses without stalling concurrent operations. ([source](https://reactphp.org/))

### Operating Systems & Systems Programming

- [Asynchronous I/O Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/asynchronous-i-o-libraries.md) — Provides a non-blocking system I/O library that monitors streams, resolves DNS, and manages child processes.
- [Asynchronous Signal Listeners](https://awesome-repositories.com/f/operating-systems-systems-programming/system-signal-handling/asynchronous-signal-listeners.md) — Registers listeners to catch process signals such as user interrupts or system shutdown requests. ([source](https://reactphp.org/event-loop/))
- [Process Signal Dispatchers](https://awesome-repositories.com/f/operating-systems-systems-programming/system-signal-handling/process-signal-dispatchers.md) — Catches external operating system signals and routes them to registered event listeners without halting execution.

### Programming Languages & Runtimes

- [Asynchronous PHP Development](https://awesome-repositories.com/f/programming-languages-runtimes/asynchronous-php-development.md) — Provides an asynchronous PHP programming environment for building non-blocking concurrent applications.
- [Event Loop Scheduling](https://awesome-repositories.com/f/programming-languages-runtimes/event-loop-scheduling.md) — Drives the asynchronous event loop runtime by blocking execution until all active tasks and streams finish. ([source](https://github.com/reactphp/event-loop/tree/1.x))
- [Readable Stream Polling](https://awesome-repositories.com/f/programming-languages-runtimes/file-stream-management/stream-monitoring/readable-stream-polling.md) — Polls readable stream resources continuously and triggers a callback when new data arrives to enable non-blocking reading. ([source](https://reactphp.org/event-loop/))
- [Timer Queue Management](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/timer-schedulers/timer-queue-management.md) — Manages time-ordered priority queues of asynchronous timers to trigger callbacks after specified intervals.
- [Event Loop Backends](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/asynchronous-event-loops/event-loop-backends.md) — Enables switching between different underlying system backends at runtime for optimal concurrency performance. ([source](https://github.com/reactphp/event-loop/blob/3.x/README.md))

### Software Engineering & Architecture

- [Reactor Pattern Event Loops](https://awesome-repositories.com/f/software-engineering-architecture/reactor-pattern-event-loops.md) — Implements a reactor pattern event loop that polls system resources and schedules asynchronous callbacks.
- [Writable Stream Polling](https://awesome-repositories.com/f/software-engineering-architecture/writable-stream-integration/writable-stream-polling.md) — Polls writable stream resources continuously and triggers a callback when they are ready to accept written data. ([source](https://reactphp.org/event-loop/))
- [Asynchronous Spawning](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/workflow-automation-integrations/external-application-integrations/child-process-execution/asynchronous-spawning.md) — Spawns and interacts with external processes asynchronously to run system commands alongside other tasks. ([source](https://reactphp.org/))

### System Administration & Monitoring

- [Asynchronous Event Loops](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o/event-driven-i-o/asynchronous-event-loops.md) — Executes non-blocking operations and coordinates concurrent tasks using a centralized event loop mechanism. ([source](https://reactphp.org/))
- [Asynchronous Network Programming](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o/event-driven-i-o/asynchronous-network-programming.md) — Manages non-blocking network streams and sockets through reactive callbacks and system I/O polling.

### Web Development

- [I/O Event Loop Timers](https://awesome-repositories.com/f/web-development/real-time-web-architectures/asynchronous-polling-timers/i-o-event-loop-timers.md) — Enqueues callbacks to execute once after a specified time interval using asynchronous timers. ([source](https://reactphp.org/event-loop/))
