Multi-threading in PHP can be achieved through several methods:
1) Using curl_multi_* functions to perform parallel cURL downloads without multi-processing.
2) Spawning background processes via exec() from a web server environment.
3) Using the PCNTL extension if PHP was built with the --enable-pcntl option, though it does not work on Windows.
4) Using the ZendX_Console_Process_Unix wrapper for PCNTL to spawn new processes and perform parallel tasks on *nix systems with CGI or CLI.