Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP time_nanosleep() 함수 – 초·나노초 단위 스크립트 지연 방법

PHP의 time_nanosleep() 함수는 현재 실행 중인 스크립트를 지정한 시간만큼 일시 정지(지연)시키는 함수입니다. 초(sec)와 나노초(nsec)를 함께 사용할 수 있어, 밀리초 단위보다 훨씬 정밀한 지연 처리가 필요할 때 유용합니다.

문법

time_nanosleep(sec, nsec)

매개변수

  • sec − 스크립트 실행을 지연할 시간(초 단위)입니다.

  • nsec − 추가로 지연할 나노초 단위의 시간입니다. 반드시 0 이상 999,999,999 이하의 값을 사용해야 합니다.

반환값

time_nanosleep() 함수는 실행에 성공하면 true를 반환합니다. 실패하면 false를 반환하며, 신호(signal)에 의해 대기가 중단된 경우에는 남은 지연 시간을 담고 있는 연관 배열('seconds', 'nanoseconds' 키)이 반환됩니다.

예제

<?php
   echo date('h:i:s') . "<br>";
   // 1.5초 동안 대기
   time_nanosleep(1, 500000000);
   echo date('h:i:s') . "<br>";
   // 2.5초 동안 대기
   time_nanosleep(2, 500000000);
   echo date('h:i:s');
?>

실행 결과

위 예제를 실행하면 각 출력 사이에 지정된 시간만큼 지연이 발생하여 다음과 같은 결과가 나타납니다.

02:57:04
02:57:06
02:57:08

참고 사항

  • nsec 값은 10억 미만(0~999,999,999)이어야 하며, 범위를 벗어나면 경고(warning)가 발생합니다.
  • 초 단위로만 지연하려면 sleep(), 마이크로초 단위 지연에는 usleep() 함수를 사용하는 것이 더 간편합니다.
  • Windows 환경에서는 PHP 5.3.0부터 이 함수를 사용할 수 있습니다.