Tout organisme peut-il m'expliquer quelle est la différence entre sleep()
et usleep()
en PHP?.
J'ai demandé à utiliser les scripts suivants pour créer une application de discussion en continu mais, dans ce script, le même effet est obtenu avec usleep(25000);
ou sans usleep(25000);
.
page1.php
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"
type="text/javascript"></script>
<script>
var lpOnComplete = function(response) {
console.log(response);
// do more processing
lpStart();
};
var lpStart = function() {
$.post('page2.php', {}, lpOnComplete, 'json');
};
$(document).ready(lpStart);
</script>
page2.php
<?php
$time = time();
while((time() - $time) < 30) {
// query memcache, database, etc. for new data
$data = getLatest();
// if we have new data return it
if(!empty($data)) {
echo json_encode($data);
break;
}
usleep(25000);
}
function getLatest() {
sleep(2);
return "Test Data";
}
?>
L'argument à sleep
est en secondes, l'argument à usleep
est en microsecondes. Autre que cela, je pense qu'ils sont identiques.
sleep($n) == usleep($n * 1000000)
usleep(25000)
ne dort que pendant 0,025 seconde.
sleep()
permet à votre code de dormir en quelques secondes.
sleep(5); // sleeps for 5 seconds
usleep()
autorise votre code en microsecondes.
usleep(2500000); // sleeps for 2.5 seconds
usleep()
est utilisé pour retarder l'exécution en "microsecondes" alors que sleep()
est utilisé pour différer l'exécution en secondes . Donc usleep(25000)
est égal à 0,025 seconde.
Is there any difference between the two?
Une autre différence est que sleep renvoie 0 en cas de succès, false en cas d'erreur. Usleep ne retourne rien.