반응형
C의 Sleep() 함수는 입력으로 받은 시간만큼 호출 스레드를 멈추게 한다.
Sleep() 함수는 호출 스레드를 Running 상태에서 Suspend 상태로 만든다. 이 상태에선 cpu에 의해 스케줄링 될 수 없다. 입력 시간이 지나면 해당 스레드는 다시 cpu에 의해 스케줄링 되어 실행될 수 있는 상태(ready to run)상태가 된다. 스케줄링은 OS 상태, 스케줄링 우선순위에 따라 바로 될 수도 그렇지 않을 수도 있다.
간단하게 요약하면 Sleep 함수는 호출 스레드를 입력 시간동안 멈췄다가 곧바로 실행을 보장해주는 함수가 아닌, 말 그대로 입력 시간 동안 실행될 수 없는 상태로 만들고, 그 이후에 다시 실행될 수 있는 상태로 만들어 주는 함수이다.
https://www.youtube.com/watch?v=Js1HSwUurpw&list=PLXvgR_grOs1DGFOeD792kHlRml0PhCe9l&index=2
https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-sleep
'CS 기초 > Operating System' 카테고리의 다른 글
Lock 기반 알고리즘의 문제점 (0) | 2021.09.29 |
---|---|
[OS] 운영체제 연습 문제 풀이 (2) (0) | 2020.11.07 |
[OS] 스레드(Thread)와 스케줄링(Scheduling) (1) | 2020.06.07 |
[OS] 프로세스(Process)에 관하여 알아보자 (0) | 2020.05.31 |
[OS] 운영체제 연습 문제 풀이 (1) (0) | 2020.05.25 |
댓글