perfork
Perfork is a term used to describe a concurrency pattern in which a separate child process is created to handle each incoming task or connection. In this model, a parent process listens for requests and forks a new child to process the request, with the child typically handling the work and exiting upon completion. This approach contrasts with prefork, which maintains a fixed pool of worker processes, and with thread-per-request models, where a new thread handles each task.
In a typical perfork implementation, the parent accepts a connection or task, forks a child process, and
Perfork offers strong process-level isolation, making it easier to confine faults or untrusted tasks. However, it
Related concepts include prefork, thread-per-request, process pools, and CGI-style spawning.