<p>I'm running Apache on Linux within VMWare.</p>
<p>One of the PHP pages I'm requesting does a <code>sleep()</code>, and I find that if I attempt to request a second page whilst the first page is <code>sleep()'ing</code>, the second page hangs, waiting for the <code>sleep()</code> from the first page to finish.</p>
<p><strong>Has anyone else seen this behaviour?</strong></p>
<p>I know that <a href="http://php.net/" rel="nofollow noreferrer">PHP</a> isn't <strong>multi-threaded</strong>, but this seems like gross mishandling of the CPU.</p>
<p><strong>Edit</strong>: I should've mentioned that the CPU usage doesn't spike. What I mean by CPU &quot;hogging&quot; is that no other PHP page seems able to use the CPU whilst the page is sleep()'ing.</p>

Are you actually seeing the CPU go to 100% or just that no other pages are being served? How many apache-instances are you runnning? Are they all stopping when you run sleep() in of of the threads?
PHP's sleep() function essentially runs through an idle loop for n seconds. It doesn't release any memory, but it should not increase CPU load significantly.