linux에서 sleep 함수의 역할에 관한 질문입니다.

appleinu의 이미지

리눅스에서 sleep 함수의 역할이 무엇일까요?

signal 동기화등 여러곳에서 사용하는것같은데 명확하게 정리된것을 찾을 수 없어 질문 드립니다.

pogusm의 이미지

sleep 명령어는

그냥 sleep 2 처럼해서 2초를 지연시키는 명령어 아닌가요??

# man sleep
sleep - 주어진 시간만큼 지연시킨다.

# sleep 2 (2초지연)

kerino의 이미지

sleep(2) 함수는 단순히 현재 수행되는 쓰레드를 2초간 sleep 시키는 역할을 합니다.
(물론 CPU 제어권은 적어도 2초간 다른 쓰레드나 idle 쓰레드에게 넘어가겠죠)

signal 동기화등의 용도로 여러곳에서 사용한다면.
해당 코드는 잘 짜여진 코드는 아닌거 같네요 -_-
(2초간의 sleep이 동기화를 보장할 수는 없을테니요..)