자바스크립트에서 프로그램의 실행을 지연시키기 😴
코딩을 하다 보면 여러 가지 이유로 프로그램의 실행을 잠시 멈추거나 일정 시간동안 실행을 지연시키고 싶을 때가 있습니다. 예를 들어, 자바에서는 Thread.sleep() 함수, 파이썬에서는 time.sleep() 함수를 사용해서 이렇게 의도된 지연을 줄 수가 있습니다. 다른 프로그래밍 언어들에서는 이러한 API를 쉽게 찾아볼 수 있는데요. 자바스크립트에서는 어떻게 프로그램의 실행을 일정 시간동안 지연시킬 수 있을까요? 이번 시간에는 자바스크립트에서 프로그램의 실행을 지연시키기 위해서 사용되는 여러 가지 방법에 대해서 살펴보았습니다. 📺 동영상: https://youtu.be/SqD5bcs2Cms 📝 포스팅: https://www.daleseo.com/js-sleep/ 다시 처음으로 돌아가, 왜 자바스크립트는 다른 언어들처럼 지연 함수를 내장하고 있지 않을까요? 멀티 쓰레드 기반의 동기 프로그래밍 모델에서 프로그램의 실행 지연이 발생하면 일반적으로 CPU는 다른 쓰레드로 옮겨가 다른 코드를 실행하게 됩니다. 하지만 싱글 쓰레드 기반의 비동기 프로그래밍 모델에서는 잠시 동안 프로그램을 멈추는 행위 자체가 큰 위협이 되기 때문에 다른 관점으로 이를 바라봐야 합니다. 제 경험으로 비춰봤을 때, 정말로 프로그램의 실행을 지연시켜야하는 상황인건지를 신중하게 다시 한 번 생각해보는 것이 도움이 됩니다. 비동기 프로그래밍 모델 관점에서 바라보면, 많은 경우 더 좋은 해결 방법을 찾으실 수 있으실 것입니다.