You may be able to do what you want with fsockopen. Open multiple connections, send the requests on each, don't wait for response. You will still have to wait on the TCP handshakes though, just not the HTTP response. This requires implementing HTTP protocol yourself (which fortunately is not difficult). You might be able to get away with just passing a URL to fopen and not reading any data; not sure though as fopen might wait for an HTTP response code which would reduce your parallelism.
Another way to do it would be to invoke the PHP multiple times in parallel, and each instance could process a portion of your URL list. Each PHP would be running in its own web server process so it would be truely parallel. The down side is that you need to load multiple pages simultaneously to start the processes.
You could combine the two approaches. Have one .php file that the user accesses, that uses fsockopen to make parallel requests to .php files that each process a portion of the list one URL at a time. This should be able to do exactly what you want.
This is all very kludgy though. If you really need to write a multithreaded app, PHP is not a very good choice.