"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 재귀`settimeout` vs.`setInterval ': 정확한 타이밍에 어떤 것이 더 낫습니까?

재귀`settimeout` vs.`setInterval ': 정확한 타이밍에 어떤 것이 더 낫습니까?

2025-03-24에 게시되었습니다
검색:931

Recursive `setTimeout` vs. `setInterval`: Which is Better for Precise Timing?

재귀 세트 타임 아웃 vs. setInterval : 차이점

두 가지 접근 방식이 모두 있습니다.

Settimeout

제공된 코드 (옵션 A)에 설명 된 바와 같이 재귀 Settimeout은 1000 밀리 초의 간격으로 MyTimeoutFunction 기능의 실행을 스케줄합니다. MyTimeoutFunction이 실행되면 Settimeout을 사용하여 자체적으로 호출하여 사이클을 무기한으로 반복합니다.

[옵션 B)는 정기적 인 개입을 사용하지 않고 MyTimeoutTfunction의 실행을 예약합니다. 대신, 주기적으로 실행되는 내장 메커니즘을 사용합니다.

정확도 고려 사항

Recursive `setTimeout` vs. `setInterval`: Which is Better for Precise Timing?

SetInterval은 이전 실행 시간에 관계없이 기능을 실행하기 전에 정확히 1000 밀리 초를 기다리므로 재귀 세트 타임 아웃보다 더 정확한 경향이 있습니다. MyTimeoutFunction이 실행하는 데 상당한 시간이 걸리는 경우이 지연은 상당해질 수 있습니다.

동시성

고려해야 할 또 다른 요소는 동시성입니다. SetInterval과 달리 재귀 Settimeout은 본질적인 동시성 개념이 없습니다. 즉, 스케줄러가 다시 호출하려고 시도 할 때 MyTimeoutFunction이 여전히 실행되는 경우 재귀 호출이 실패합니다.

SetInterval은 함수의 실행 시간과 독립적으로 실행됩니다. 진행중인 처리가 진행중인 경우에도 기능이 지정된 간격으로 호출되도록합니다.

결론

다른 목적을 제공합니다. 재귀 세트 타임 아웃은 유연성을 제공하고 맞춤 지연을 허용하지만 덜 정확하고 동시성 문제로 어려움을 겪을 수 있습니다. SetInterval은 정기적으로 함수의 정확하고 일관된 실행에 대해 더 안정적이지만 실행 타이밍에 대한 동일한 수준의 제어가 부족합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3